簡體   English   中英

自動滾動失敗回調函數

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

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