Javascript Jquery slide-in-div在滚动中不断移动

Javascript Jquery slide-in-div在滚动中不断移动,javascript,jquery,Javascript,Jquery,我有一个div,我想在用户向下滚动指定数量后滑入。它最初可以工作,但之后div在每个滚动动作中都会向左移动一点,而不是停留在原地。有人知道为什么会这样吗 var opening = false; var closing = false; $(window).scroll(function(){ var windowHeight = $(window).height(); var windowScroll = $(window).scrollTop();

我有一个div,我想在用户向下滚动指定数量后滑入。它最初可以工作,但之后div在每个滚动动作中都会向左移动一点,而不是停留在原地。有人知道为什么会这样吗

  var opening = false;
  var closing = false; 
 $(window).scroll(function(){
     var windowHeight = $(window).height();
     var windowScroll = $(window).scrollTop(); 
     var position1 = $("#Support").offset().top;         
    if ( windowScroll > (position1 - (windowHeight/2)) )  
     {
        if (!opening) {
            opening = true;
            closing = false;
            $("#SupportImage1").stop().animate({
                left: "1200px"                  
              }, 1500, function(){
                  opening = false;
                  });
            }            
     }
     else
     {
        if (!closing) {
            closing = true;
            opening = false;
             $("#SupportImage1").stop().animate({
                left: "100%"                    
              }, 1400, function() {
                  closing = false;
              });                
        }
     }       
 });

滚动条很可能会影响宽度计算


每次对滚动条运行该函数时,您都会添加总屏幕宽度加上滚动条的偏移量。

您能给我们一个JSFIDLE吗?-你的意思是这样的:更具体地说,图像位于页面右侧的外部,因此不可见。当用户向下滚动到特定高度时,我希望图像从右侧滑入。好的,它似乎已经自行修复,因为我根本没有更改代码…感谢大家的输入!滚动条总是在那里,因为它是一个长页面。