2016-09-04 6 views
-1

ユーザーが600pxをスクロールしたときに赤いブロックを表示し、600pxを超えてスクロールすると青色のボックスを表示するとします。それはいいです;ただし、600pxを1回スクロールした後に、赤色のボックスが1回だけ表示された後は、青色のボックスを表示したいだけです。明白なことは、 "scrollTop"が600pxより大きい場合は赤いブロックを表示し、 "scrollTop"が(<)600pxより小さい場合は青いブロックを表示することです。ただし、技術的にscrollTop < 600pxには600未満のすべてのピクセルが含まれているため、「scrollTop」が1pxに達するとすぐに青色のブロックが表示されます。scrollTop help、600pxを1回だけ渡した後に画像を表示

したがって、青いブロックを表示する必要があります1回/ 600ピクセルが1回通過しました。

のjQuery:事前に

$(document).scroll(function() { 
    var y = $(this).scrollTop(); 
    if (y > 600) { 
    $("#square").css("background-image", "url(images/comp_rel/red_block.gif)"); 
    } 
    else { 
    $("#square").css("background-image", "url(images/comp_rel/blue_block.gif)"); 
    } 
}); 

、任意の助けに感謝します。

答えて

0

この使用:

var shw = false; 
$(document).scroll(function() { 
    var y = $(this).scrollTop(); 
    if (y > 600) { 
     shw=true;  
     $("#square").css("background-image", "url(images/comp_rel/red_block.gif)"); 

    } 
    else { 
    if(shw) 
     $("#square").css("background-image", "url(images/comp_rel/blue_block.gif)"); 
    } 
}); 
+0

は動作しませんが、私は助けてくれてありがとう。 – Crash54Fox

+1

申し訳ありません、それは動作します。私はディスプレイを持っていた:cssには何もなかった。謝罪いたします。 – Crash54Fox

関連する問題