0

ユーザーが指定された量だけ下にスクロールしたら、スライドさせたい 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;
              });                
        }
     }       
 });
4

1 に答える 1

0

スクロール バーが幅の計算に影響している可能性が最も高いです。

スクロールバーに対してその関数を実行するたびに、合計画面幅にスクロールバーによるオフセットを加えたものを追加します。

于 2012-09-27T14:57:14.867 に答える