小编Nae*_*emy的帖子

仅在滚动时触发一次函数(scrollstop)

所以,我想在滚动时只触发一次函数(使用Scrollstop,由stackoverflow答案给出)

问题是我不能只触发一次这个功能.我尝试了不同的解决方案(.on(),设置一个计数器,将其设置在window.scrollstop函数的外部/内部)但没有任何效果.

我不认为这很困难,但是到目前为止我还没有让它成功.

这是我正在使用的插件

  $.fn.scrollStopped = function(callback) {           
          $(this).scroll(function(){
              var self = this, $this = $(self);
              if ($this.data('scrollTimeout')) {
                clearTimeout($this.data('scrollTimeout'));
              }
              $this.data('scrollTimeout', setTimeout(callback,300,self));
          });
      };
Run Code Online (Sandbox Code Playgroud)

这是我的代码:

        $(window).scrollStopped(function(){
            if ($(".drawing1").withinViewport()) {      
                doNothing()
                }
            })


var doNothing = function() {
            $('#drawing1').lazylinepainter('paint');
        }
Run Code Online (Sandbox Code Playgroud)

(删除了计数器,因为它不起作用)

现场演示

PS:我想做的功能只有一次是lazyPaint.它在我们滚动到元素时开始,但在它结束时再次触发.

javascript jquery jquery-plugins

8
推荐指数
2
解决办法
2万
查看次数

如何检测它是否是用户查看我网站的第一页?

我想在我的网站上进行动画,只有当用户第一次访问网站时才会如此.我找到了"第一次访问者"代码localStorage,但我没有找到这个.

javascript

2
推荐指数
3
解决办法
6612
查看次数

标签 统计

javascript ×2

jquery ×1

jquery-plugins ×1