[英]Autoscroll fails on callback function
我有一個div,它從左到右自動滾動。 我使用jQuery實現。 在jQuery回調函數中,我調用了使它從左向右自動滾動的函數。 但是,回調函數失敗,並且不會再次從左向右滾動。 我究竟做錯了什么?
function scroll() { var element = document.getElementById("scroll"); var width = element.scrollWidth; $(document).ready(function(){ $("#scroll").animate({scrollLeft: width}, 5000, function(){ scroll(); }); }); } //end of scroll() scroll();
#scroll { display: inline-block; padding: .5%; border: 1px solid black; white-space: nowrap; width: 10%; overflow-x: hidden; }
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> <div id = "scroll">one two three four five six seven eight nine ten</div>
我認為這是由於“最大調用堆棧大小超出錯誤”
由於您要調用滾動,而滾動又依次調用滾動,依此類推,它將達到堆棧限制。
請參閱如何使用遞歸函數與基礎情況下,這個答案最大調用堆棧尺寸超出誤差
更新:這是由於scrollLeft的動作,該動作已將元素向左滾動,需要再次滾動回0
才能再次調用。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.