我有一個問題,因爲我不明白這一點。Jquery等待並點擊更多次
我想展示與jQuery的下一個選項卡,這樣編碼的東西之間的等待時間:
$('#tabs ul .ui-corner-top').each(function(){
setTimeout(function(){},2000)
$(this).children('a').click();
});
我期望看到等待2秒,如果一個選項卡被點擊。 但超時只能啓動一次,所有hrefs立即被點擊而無需等待。
然後我嘗試不同的東西:
for (i=0;i<$('#tabs ul .ui-corner-top').size();i++) {
setTimeout('changeTab(i)',i*3000);
}
function changeTab(i) {
clearTimeout(timeout);
timeout=setTimeout(function(){
$('#mainContent').masonry();
}, 1500);
tablink='a[href*="#tabs-'+i+'"]';
$(tablink).click();
}
超時工作在這裏,但我不知道爲什麼。在這裏,我只留下了點擊的問題。它不會等到點擊下一個標籤。
有人可以幫忙嗎?
在此先感謝
我完全寫怪異的東西..對不起......這是我的實際代碼和它幾乎工作:
for (i=0;i<$('#tabs ul .ui-corner-top').size();i++) {
tablink='a[href*="#tabs-'+i+'"]';
setTimeout('changeTab(tablink)',i*3000);
}
function changeTab(tablink) {
$(tablink).click();
}
但他只是點擊第三個標籤(#tabs-2)3次,而不是每個標籤一次(1,2,3)就像我想要的。爲了解釋它:我想在標籤之間自動切換(jquery ui標籤),並等待下一次點擊。
你能改述你想完成的事嗎?這不是你的問題。此外,你應該傳遞一個函數,而不是一個字符串到'setTimeout()'和'setInterval()'。 – 2011-05-10 13:45:29
看到我的編輯,我想我已經知道你在做什麼。你需要將'tablink'變量傳遞給'changeTab',現在它只是一個字符串的一部分。就像我之前說過的,**不要將字符串傳遞給'setTimeout' **。 – 2011-05-10 14:03:15