jquery - div - page top



jquery:animate scrollLeft (2)

我對jquery很新,似乎無法弄清楚為什麼我的代碼不起作用。 我有一個水平佈局,並希望使用scrollLeft()函數(這與此代碼完美配合)

$("#next").click(function() {
    currentElement = currentElement.next();
    scrollTo(currentElement);    
});

function scrollTo(element) {
    $(window).scrollLeft(element.position().left);
}

但理想情況下,我想設置動畫,這樣當點擊#next時,左側滾動功能有一個很好的動畫效果

$("#next").click(function() {
    currentElement = currentElement.next();
    scrollTo(currentElement);    
});

function scrollTo(element) {
    $(window).animate({scrollLeft: element.position().left}, 750);
}

但無濟於事。 我究竟做錯了什麼?


你會想要這樣的東西:


$("#next").click(function(){
      var currentElement = currentElement.next();
      $('html, body').animate({scrollLeft: $(currentElement).offset().left}, 800);
      return false;
   }); 
我相信這應該有效,它是從scrollTop函數中採用的。


首先,我應該指出,如果你這麼做很多,css動畫可能效果最好但是我通過將.scrollLeft包裝在裡面來結束,從而獲得了預期的效果.animate

$('.swipeRight').click(function()
{

    $('.swipeBox').animate( { scrollLeft: '+=460' }, 1000);
});

$('.swipeLeft').click(function()
{
    $('.swipeBox').animate( { scrollLeft: '-=460' }, 1000);
});

第二個參數是速度,如果使用某種平滑滾動,也可以添加第三個參數。





jquery-selectors