我需要在JavaScript中停止setTimeout的循环

编程入门 行业动态 更新时间:2024-10-25 12:20:26
本文介绍了我需要在JavaScript中停止setTimeout的循环的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述 我有一个setTiemout内循环,我需要通过onClick按钮停止它 $ b $ pre $ code var循环= function(){ for(var i = 0; i 我有JSFiddle 开始|停止按钮循环

解决方案

如何?

var tx = [a,b c,d,e,f,g,h,i,g,k,l,m,n, o,p,q,r,s,t,u,v,w,y,z]; var run = true; var txIndex = 0; var loop = function(){ if(run&& txIndex< tx.length){ $(#div)。append(tx [txIndex] + < br />); txIndex ++; setTimeout(loop,500); } }; (click,function(){run = true; loop()}); $(#start)。 (click,function(){run = false}); $(#stop)。

小提琴演示

i have a loop with setTiemout inside and i need stop it via onClick button

var loop = function(){ for (var i = 0; i < tx.length; i++) { setTimeout((function(x) { return function() { $("#div").append(tx[x] + " <br />"); }; })(i), 500 * i); } }; $("#start").on("click", loop); $("#stop").on("click", stop);

i have the example in JSFiddle start|stop loop with buttons

Thank's

解决方案

How about this?

var tx = ["a", "b", "c", "d", "e", "f", "g", "h", "i", "g", "k", "l", "m", "n", "o", "p", "q", "r", "s", "t", "u", "v", "w", "y", "z"]; var run = true; var txIndex = 0; var loop = function(){ if(run && txIndex < tx.length) { $("#div").append(tx[txIndex] + " <br />"); txIndex++; setTimeout(loop, 500 ); } }; $("#start").on("click", function() { run=true; loop() } ); $("#stop").on("click", function() { run=false } );

Fiddle demo

更多推荐

我需要在JavaScript中停止setTimeout的循环

本文发布于:2023-11-27 08:50:44,感谢您对本站的认可!
本文链接:https://www.elefans.com/category/jswz/34/1637365.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:JavaScript   setTimeout

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!