我想将div显示3秒。并显示下一个div 3秒。并继续这个计时器。 但是如果有其他代码可以解决这个问题,那么这段代码就无法运行了。
var timer = setInterval(showDiv(3000));
var counter = 0;
function showDiv() {
if (counter ==0)
counter++;
$('#text1, #text2').stop().hide().filter(function() {
return this.id.match('#text' + counter);
}).show();
counter == 2? counter = 0 : counter++;
}
showDiv();
});
答案 0 :(得分:0)
如果元素匹配与否,则filter函数应返回一个布尔值。这里this.id.match返回一个数组,该数组是正则表达式执行的结果。您可以像下面这样简化过程,而不是使用过滤器功能:
setInterval(showDiv,3000);
var counter = 0;
function showDiv() {
if (counter ==0) { counter++;}
$('#text1, #text2')
.stop()
.hide()
.filter('#text'+counter)
.show();
counter == 2? counter = 0 : counter++;
}