繁体   English   中英

如何停止触发此事件?

[英]How can I stop this event from firing?

我有这个网站:

链接

在右侧栏中,您会注意到最后一个元素随滚动一起运行。

问题是,这不会停止……深入所有。

在此处输入图片说明

我尝试使用此功能来完成任务

代码JS:

   var aux=0;
   $("#text-3").addClass("follow-scroll");
   var _footerH=$("#footer-container").outerHeight();
   var _docH=$(document).height();
   var _scrollP= $(window).scrollTop();
   console.log("pozitie scroll",_scrollP);
   console.log("inaltime footer",_footerH);
   console.log("inaltime document HTML",_docH);
   var element = $('.follow-scroll'),
       originalY = element.offset().top;
       var topMargin = 20;
   element.css('position', 'relative');

     $(window).on('scroll', function(event) {
        var scrollTop = $(window).scrollTop();
        console.log(scrollTop);
        console.log("originalY:",originalY);
        console.log("Scrolltop:",scrollTop);
        console.log("topMargin:",topMargin);

        var y = scrollTop - originalY + topMargin;

       if(scrollTop < originalY) {

           console.log("nu s-a declansat evenimentul");

       }else {
       //aici trebe adaugat top la div
        aux=scrollTop - originalY + topMargin
        $( '.follow-scroll' ).css( 'top', aux );
         if(scrollTop>6000)
         {
          var _div = $( ".follow-scroll" );
          var position = _div.position();
          var top2=aux;
           //aici trebuie sa primeasca ultimul top
           $( '.follow-scroll' ).css( 'top', aux );
         }
       }


     //  top=aux;
    //   console.log("top_nou:",aux);


    });

您能帮我解决这个问题吗? 如何在某个时候停止该元素?

提前致谢!

尝试将代码更改为此

 var aux = 0;
 $("#text-3").addClass("follow-scroll");
 var _footerH = $("#footer-container").outerHeight();
 var _docH = $(document).height();
 var _scrollP = $(window).scrollTop();
 console.log("pozitie scroll", _scrollP);
 console.log("inaltime footer", _footerH);
 console.log("inaltime document HTML", _docH);
 var element = $('.follow-scroll'),
     originalY = element.offset().top;
 var topMargin = 20;
 element.css('position', 'relative');

 $(window).on('scroll', function (event) {
     var scrollTop = $(window).scrollTop();
     console.log(scrollTop);
     console.log("originalY:", originalY);
     console.log("Scrolltop:", scrollTop);
     console.log("topMargin:", topMargin);

     var y = scrollTop - originalY + topMargin;

     if (scrollTop < originalY) {
         console.log("nu s-a declansat evenimentul");
     } else {
         //aici trebe adaugat top la div
         aux = scrollTop - originalY + topMargin
         if (scrollTop > 6000) {
             var _div = $(".follow-scroll");
             var position = _div.position();
             var top2 = aux;
             //aici trebuie sa primeasca ultimul top
         }else{
             $('.follow-scroll').css('top', aux);
         }
     }
 });

您会注意到,您应该只设置$('.follow-scroll').css('top', aux); 如果scrollTop <= 6000否则将其保留在原处

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM