我有一个滚动条列表。还有一个按钮,当按下它时,它会移动到某个#id
并且滚动条也会移动以使该元素可见。但它不准确。它移动,但并不总是到达确切的地方。我怎样才能让这个滚动功能是准确的:如何使滚动条移动到一个准确的位置
DEMO http://jsfiddle.net/danials/anpXP/1/
我的jQuery代码:
function next() {
$(".list li").css("background", "grey");
goToByScroll(myID);
$("#" + myID).css("background", "red");
myID = $("#" + myID).next("li").attr("id");
}
function goToByScroll(id) {
$('.list').animate({
scrollTop: $("#" + id).offset().top - $("#" + id).height()
},
'slow');
}
在演示尝试按一个按钮,你会在一些项目看滚动移动但不正确。
有什么想法?
问题是,在所有其他'GoToByScroll'中,'offset()。top'增加1而不是适当的数量,不知道为什么,但是你可以从那里开始。 – sharf
[这jsfiddle](http://jsfiddle.net/anpXP/2/)将工作。问题在于,随着屏幕的滚动,元素的偏移量会随着靠近页面顶部而发生变化。 – sharf