2010-12-06 14 views
2
$(document).ready(function() { 
     var $left = $('#scroll-left'); 
     var $right = $('#scroll-right'); 
     var position = $('#article_body').css('left'); 
     if (position <= '-450px') { 
      $left.click(function() { 
       $('#article_body').animate({ 
        left: '+=450px' 
       }, '1000'); 
      }); 
     } else if (position >= '-4500px') { 
      $right.click(function() { 
       $('#article_body').animate({ 
        left: '-=450px' 
       }, '1000'); 
      }); 
     } 

}); 

我做了一個水平滾動頁面,通過在我的包含div上設置CSS left屬性。我想要它做的只是在0px和-4500px的間隔之間移動。所以,如果我點擊左側,它在0px,它只會向右移動,或者如果它在-4500px,並且我點擊右側,它只會向左移動。如何限制jQuery事件發生的距離?

感謝

回答

4

你需要做的檢查處理程序,就像這樣:

$(document).ready(function() { 
    $('#scroll-left').click(function() { 
    if ($('#article_body').css('left') <= '-450px') { 
     $('#article_body').animate({ left: '+=450px' }, '1000'); 
    } 
    }); 
    $('#scroll-right').click(function() { 
    if ($('#article_body').css('left') >= '-4500px') { 
     $('#article_body').animate({ left: '-=450px' }, '1000'); 
    } 
    }); 
}); 

目前正在檢查的位置當DOM加載,而不是點擊按鈕時。相反,你需要做相反的事情,並檢查按鈕被點擊的時間......如上所述。如果它在您檢查的方向上滾動得太遠(if檢查失敗),則點擊將不起作用。

1

如果添加你的願望,就像一個泳道或東西互動,那將是有益的示意圖。

+0

....這將如何幫助? – 2010-12-06 01:49:56

+0

因爲你所問的對於這位讀者來說沒有多大意義,而且對其他人也是這樣。 – 2010-12-06 01:53:39