Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 如何阻止此事件的触发?_Javascript_Jquery_Html_Css - Fatal编程技术网

Javascript 如何阻止此事件的触发?

Javascript 如何阻止此事件的触发?,javascript,jquery,html,css,Javascript,Jquery,Html,Css,我有这个网站: 在右侧边栏中,您会注意到最后一个元素是滚动运行的 问题是这不会停止。。。把一切都查到底 我尝试了这个功能来完成任务 代码JS: var aux=0; $("#text-3").addClass("follow-scroll"); var _footerH=$("#footer-container").outerHeight(); var _docH=$(document).height(); var _scrollP= $(window).scr

我有这个网站:

在右侧边栏中,您会注意到最后一个元素是滚动运行的

问题是这不会停止。。。把一切都查到底

我尝试了这个功能来完成任务

代码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(“跟随滚动”);
var_footerH=$(“#footer container”).outerHeight();
var_docH=$(document).height();
var_scrollP=$(window.scrollTop();
console.log(“pozitie scroll”,_scrollP);
log(“inaltime footer”,_footerH);
log(“inaltime文档HTML”,_docH);
变量元素=$('.follow scroll'),
originalY=element.offset().top;
var topMargin=20;
css('position','relative');
$(窗口).on('scroll',函数(事件){
var scrollTop=$(窗口).scrollTop();
控制台日志(scrollTop);
console.log(“originalY:,originalY”);
log(“Scrolltop:,Scrolltop”);
控制台日志(“topMargin:,topMargin”);
变量y=滚动顶部-原始+顶部边距;
如果(滚动顶部<原始){
console.log(“nus-a declansat evenimentul”);
}否则{
//艾西·特雷贝·阿杜加特上拉迪夫酒店
aux=滚动顶部-原始+顶部边距
$('.follow scroll').css('top',aux);
如果(滚动顶部>6000)
{
var_div=$(“.follow scroll”);
变量位置=_div.position();
var top2=辅助;
//Aci trebuie sa primeasca ultimul top
$('.follow scroll').css('top',aux);
}
}
//顶部=辅助;
//控制台日志(“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);
         }
     }
 });
var aux=0;
$(“#text-3”).addClass(“跟随滚动”);
var_footerH=$(“#footer container”).outerHeight();
var_docH=$(document).height();
var_scrollP=$(window.scrollTop();
console.log(“pozitie scroll”,_scrollP);
log(“inaltime footer”,_footerH);
log(“inaltime文档HTML”,_docH);
变量元素=$('.follow scroll'),
originalY=element.offset().top;
var topMargin=20;
css('position','relative');
$(窗口).on('scroll',函数(事件){
var scrollTop=$(窗口).scrollTop();
控制台日志(scrollTop);
console.log(“originalY:,originalY”);
log(“Scrolltop:,Scrolltop”);
控制台日志(“topMargin:,topMargin”);
变量y=滚动顶部-原始+顶部边距;
如果(滚动顶部<原始){
console.log(“nus-a declansat evenimentul”);
}否则{
//艾西·特雷贝·阿杜加特上拉迪夫酒店
aux=滚动顶部-原始+顶部边距
如果(滚动顶部>6000){
var_div=$(“.follow scroll”);
变量位置=_div.position();
var top2=辅助;
//Aci trebuie sa primeasca ultimul top
}否则{
$('.follow scroll').css('top',aux);
}
}
});

您将注意到只应设置
$('.follow scroll').css('top',aux)如果
scrollTop我更改了代码(您可以查看),但不幸的是没有任何更改对不起,我错过了一些东西。。。现在我在6000px之后停止,你知道我如何停止之前修复的元素页脚吗?现在我估计。。。但是应该在页脚之前停止。函数算法是什么?不要使用
6000
而使用
$(“#您的页脚”).offset().top