jquery滚动监听滚动一次触发多次事件,怎么解决?

用JQuery写滚动监听懒加载,滚轮滚动一次触发多次事件

https://img4.mukewang.com/5c6d016b0001f73a05480351.jpg

var x = 1;

var winH = $(window).height();//页面的高度

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

      clearTimeout(timer);

      scrollTop = $(window).scrollTop(),//滚动条距离顶部的距离

      offSetTop = $(".container>.fl>.box:last").offset().top;//在页面中的位置

      //console.log(offSetTop < (winH + scrollTop));

      if(isVisible(".container>.fl>.box:last"))

      {

         x=++x;

         var ddiv = `<div class = "box"> ${x} </div>`;

         var timer = setTimeout(function () {

            $(".container>.fl").append(ddiv);

            console.log("出现在视野里");

         }, 1000);

      }

})


function isVisible(el){

    if ($(el).offset().top <(winH + scrollTop))

    return true;

}

写了setTimeout还是会出现这个问题 是不是我鼠标滚轮问题?

一只名叫tom的猫
浏览 2306回答 1
1回答
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

JavaScript