jQuery做了一些事情,直到元素击中顶部

时间:2015-07-09 08:40:29

标签: javascript jquery scroll while-loop

我使用以下脚本模糊滚动div。将它包装成告诉它的最佳方法是什么:只有在#element命中顶部视图然后停止它之前才这样做。像max-val这样的东西。

$(window).on('scroll', function () {
    var blurrad = $(document).scrollTop()
    blurrad = blurrad / 100;
    $(".videodummy").css({"-webkit-filter": "blur("+blurrad+"px)","filter": "blur("+blurrad+"px)" })     
});

更新 首先,感谢您的帮助。我试着这样做:

var topdist = $('#indicator').offset().top 

while ( topdist > 0 ) {   
$(window).on('scroll', function () {
  var blurrad = $(document).scrollTop()
  blurrad = blurrad / 100;
  $(".videodummy").css({"-webkit-filter": "blur("+blurrad+"px)","filter": "blur("+blurrad+"px)" })     
 });

 });

因此,如果带有#indicator的div击中顶部,它应该会停止模糊,但这根本不起作用。

2 个答案:

答案 0 :(得分:1)

根据您的尝试:

var topDist = $('#indicator').offset().top;

  $(window).on('scroll', function () {

    topDist = $('#indicator').offset().top;

    if (topDist > 0) {

      var blurrad = $(document).scrollTop();

      blurrad = blurrad / 100;

      $(".videodummy").css({"-webkit-filter": "blur("+blurrad+"px)",
                            "filter": "blur("+blurrad+"px)" });

    }  
  });

我建议不要一段时间,因为它真的不需要。而是使用if语句进行检查。

答案 1 :(得分:0)

$('#element').offset().top

会给你与顶部的距离