scrollTop help,仅在600px传递一次后才显示图像

时间:2016-09-04 23:58:31

标签: javascript jquery html css

因此,想象一下当用户向下滚动600px时要显示红色块,当用户滚动到600px以上时,您想要显示一个蓝色框。没关系;但是,在红色框显示一次之后,或者更确切地说,在用户滚动一次600px之后,您只想显示蓝色框。显而易见的是当“scrollTop”大于(>)600px时显示红色块,并且当“scrollTop”小于(<)600px时显示蓝色块;然而,一旦“scrollTop”达到1px,这样做会显示蓝色块,因为从技术上讲,scrollTop< 600px包括600以下的每个像素。

所以我需要显示蓝色块,只有在红色块显示一次/ 600 px一次后才显示。

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)");
    }
});

提前,谢谢你的帮助。

1 个答案:

答案 0 :(得分: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)");
    }
});