我有一個包含多個圖像的div,其中隱藏了溢出,它緩慢地向下滾動。當滾動到底時,我想要克隆第一個元素並將其追加到底部,這樣它將繼續滾動。如何在將元素附加到div後更新scrollHeight?
到目前爲止,我已經完成了所有這些,除非它不繼續滾動,因爲scrollHeight屬性仍然是原始值。有沒有辦法更新div的scrollHeight值?
我至今腳本:
$(document).ready(function() {
$("#carousel").scrollTop(0);
intervalID = setInterval("scrollCarousel()",50);
carousel = document.getElementById("carousel");
});
function scrollCarousel() {
if ($("#carousel").scrollTop() > $("#carousel:first").height() ||
$("#carousel").scrollTop() + carousel.offsetHeight >
carousel.scrollHeight) {
elem = $("#carousel").children(':first-child').clone();
console.debug(elem);
elem.appendTo($("#carousel"));
carousel.scrollHeight += elem.height;
}
else {
$("#carousel").scrollTop($("#carousel").scrollTop() + 1);
}
}
感謝您的提示!不幸的是,當它到達scrollHeight的底部時,它開始移動第一個孩子到最後,但由於滾動位置是相同的,所以它只是在不滾動的情況下繼續這樣做。 –
啊,我忘了在移動圖像後將scrollTop設置爲0。問題解決了! –
@Zack Michener如果你有興趣,我重寫它沒有jQuery。 原來是在這裏:http://jsfiddle.net/Paulpro/bPrY7/16/ 新的一個,並不需要jQuery的是在這裏:http://jsfiddle.net/Paulpro/bPrY7/ – Paulpro