2014-04-05 131 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++; 
    }