此代码似乎不起作用......它在很长一段时间后仅显示twCharCount元素一次。可能只有一个超时设置?有什么建议让这段代码更好吗? 谢谢你的任何建议......
var timer = new Array();
var t=0;
var step=1000;
counter.hide();
var t =+ step;
timer[0] = setTimeout("$('#twCharCount').show()",t);
var t =+ step;
timer[1] = setTimeout("$('#twCharCount').hide()",t);
var t =+ step;
timer[2] = setTimeout("$('#twCharCount').show()",t);
var t =+ step;
timer[3] = setTimeout("$('#twCharCount').hide()",t);
var t =+ step;
timer[4] = setTimeout("$('#twCharCount').show()",t);
答案 0 :(得分:3)
var intervalId = window.setInterval(function() {
$('#twCharCount').toggle();
}, 1000);
并停止闪烁window.clearInterval(intervalId);
。
答案 1 :(得分:2)
可能只是一些语法问题:
var timer = [];
var t=0;
var step=1000;
counter.hide();
t += step;
timer[0] = setTimeout("$('#twCharCount').show()", t);
t += step;
timer[1] = setTimeout("$('#twCharCount').hide()", t);
t += step;
timer[2] = setTimeout("$('#twCharCount').show()", t);
t += step;
timer[3] = setTimeout("$('#twCharCount').hide()", t);
t += step;
timer[4] = setTimeout("$('#twCharCount').show()", t);
t =+step;
应为t += step;
你不应该一遍又一遍地重新宣布。
答案 2 :(得分:1)
代码在很多方面都是错误的:( 你的函数都在同一时间被调用,因为它们的时间(t)是相同的。
如果你想增加t
,你可能不应该在每次访问时声明它(仅使用var t = ...
一次;之后你可以通过它的名称访问它:t = ...
)和您应该使用+=
代替=+
:
a += b
是a = a + b
的快捷方式,而a =+ b
是a = parseInt(b)
的快捷方式。
你可能想写:
var timer = [];
var t=0;
var step=1000;
counter.hide();
t += step;
timer[0] = setTimeout("$('#twCharCount').show()", t);
t += step;
timer[1] = setTimeout("$('#twCharCount').hide()", t);
t += step;
timer[2] = setTimeout("$('#twCharCount').show()", t);
t += step;
timer[3] = setTimeout("$('#twCharCount').hide()", t);
t += step;
timer[4] = setTimeout("$('#twCharCount').show()", t);
还有一件事,最好是传递函数而不是字符串作为setTimeout
函数的第一个参数:
setTimeout(function(){$('#twCharCount').show();},t);
Sry,但我无法帮助自己,这是为您优化的代码:
var timer = [],
step = 1000,
n = 4,
el = $('#twChartCount');
for(var i=0;i<n;i++)
if(i%2)
timer[i] = setTimeout(function(){el.hide();},i*step);
else
timer[i] = setTimeout(function(){el.show()},i*step);
答案 3 :(得分:0)
活动超时的数量几乎没有限制。
我发现您的代码没有任何实际问题。问题可能不是超时,而是你正在执行的命令。
附加说明(与您的问题无关,但值得一提):
答案 4 :(得分:0)
var show = false;
window.setInterval(function() {
if(show)
{
show = false;
$('#twCharCount').show();
}
else
{
show = true;
$('#twCharCount').hide();
}
}, 1000);