我有一個滾動條列表。還有一個按鈕,當按下它時,它會移動到某個#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