-4

if/else の scroll() チェックに従って div を非表示または表示したい。私のスクリプトはこれです。

$(window).scroll(function () {

if($(this).scrollTop() > 400){

            $("#div1").delay(100).fadeIn();
            $("#div2").delay(200).fadeIn();
            $("#div3").delay(300).fadeIn();
            $("#div4").delay(400).fadeIn();
            $("#div5").delay(500).fadeIn();
} else
    $(".task-bubble").css("display", "none");

});

JSFiddle http://jsfiddle.net/NXVTw/をご覧ください。

if では gr8 で動作しますが、else では正常に動作しません。

scrolltop() > 400 の場合は、else の場合は何も表示されませんが、400 を超えるスクロール バーを srcoll すると完全ではありませんので、ご覧ください。

なにか提案を。

4

4 に答える 4

1

failIn() アニメーションを停止し、stop(true) を使用してキューをクリアする必要があります。

http://jsfiddle.net/NXVTw/2/

$(".task-bubble").stop(true).css("display", "none");
于 2013-06-17T11:57:47.690 に答える
0

$(window).scroll(function (e) {
if($(this).scrollTop() > 400){
$("#div1").delay(100).fadeIn();
$("#div2").delay(200).fadeIn();
$("#div3").delay(300).fadeIn();
$("#div4").delay(400).fadeIn();
$("#div5").delay(500).fadeIn();
e.preventDefault();
} else
$(".task-bubble").css("display", "none");

});

Use e.preventDefault() in if condition.

于 2013-06-17T12:07:08.707 に答える