【发布时间】:2011-07-29 14:58:13
【问题描述】:
我对 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);
}
但无济于事。我做错了什么?
【问题讨论】:
-
scrollLeft() 是一个 jQuery 函数,它只适用于 DOM 元素。 animate() 只能作用于 DOM 样式属性,不能作用于函数。
-
在我的情况下,我发现一些固定元素覆盖了 ul 的两个站点,并且误认为 ul 溢出(实际上 ul 没有溢出)。所以我滚动了很多次,它没有工作。我误认为 ul 是溢出的原因不是。