私はいくつかの画像を含む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