簡體   English   中英

我如何確保我的變量在setInterval內部不變

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM