[英]How can I make sure that my variable does not change inside the setInterval
我想按時更改div的scrollLeft,
讓我們簡單點:
var initialValue = $('#myDiv').scrollLeft();
var x = setInterval(function() {
$('#myDiv').scrollLeft("#some value calculated depending on initialValue")
}, 10)
問題是initialValue隨時間變化,當我將其放在setInterval中時,仍然存在相同的問題。 我如何確保我的initialValue變量在setInterval內部不變?
只需直接使用scrollWidth屬性即可:
注意:如果el.scrollWidth
特定的滾動點開始,只需將el.scrollWidth
設置el.scrollWidth
開始值
var el = document.querySelector('#myDiv'); var step = (el.scrollWidth - el.scrollLeft)/10; var x = setInterval(function() { el.scrollLeft += step; if(el.scrollLeft >= el.scrollWidth - el.clientWidth) clearInterval(x); }, 100);
#myDiv { border: 1px solid black; width: 250px; margin-bottom: 12px; overflow-x: scroll; }
<div id="myDiv"> ABCDEFGHIJKLMOPQRSTUVWXYZABCDEFGHIJKLMOPQRSTUVWXYZ </div>
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.