2014-04-05 103 views
0

我想显示3秒的div。并显示下一个格,持续3秒。并继续这个计时器。 但如果有其他代码可以解决此问题,则此代码不起作用。jQuery:隐藏并显示div的

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(); 

}); 
+1

它应该是'的setInterval(showDiv,3000);' –

+0

我想你可以使用jQuery动画,至极更适合。 – Su4p

回答

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++; 
    }