我对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函数采用的。

09-11 12:22