我的網站是在這裏:http://treethink.comjQuery的removeClass不工作
我已經打算是這是一個jQuery函數內右側的新聞股票。該功能立即開始並提取新聞動態,然後按原樣收回。當一個導航向div中添加一個類時,函數會檢查它是否應該停止提取/回縮。這一切都很好。
我遇到的問題是關閉按鈕被點擊後(在內容窗口中),removeClass將無法正常工作。這意味着它不斷思考窗口是否打開,因此函數內部的條件語句不會讓它再次提取和收回。通過一個簡單的螢火蟲檢查,它顯示該班級沒有被刪除期間。
這不是cboxClose id,它沒有找到,因爲我試圖將其更改爲「a」標籤,但仍然無法正常工作,因此肯定與jQuery有關。有人還提出了一個快速警報()來檢查回調是否正常工作,但我不確定這是什麼。
下面是代碼:
/* News Ticker */
/* Initially hide all news items */
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
var randomNum = Math.floor(Math.random()*3); /* Pick random number */
newsTicker();
function newsTicker() {
if (!$("#ticker").hasClass("noTicker")) {
$("#ticker").oneTime(2000,function(i) { /* Do the first pull out once */
$('div#ticker div:eq(' + randomNum + ')').show(); /* Select div with random number */
$("#ticker").animate({right: "0"}, {duration: 800 }); /* Pull out ticker with random div */
});
$("#ticker").oneTime(15000,function(i) { /* Do the first retract once */
$("#ticker").animate({right: "-450"}, {duration: 800}); /* Retract ticker */
$("#ticker").oneTime(1000,function(i) { /* Afterwards */
$('div#ticker div:eq(' + (randomNum) + ')').hide(); /* Hide that div */
});
});
$("#ticker").everyTime(16500,function(i) { /* Everytime timer gets to certain point */
/* Show next div */
randomNum = (randomNum+1)%3;
$('div#ticker div:eq(' + (randomNum) + ')').show();
$("#ticker").animate({right: "0"}, {duration: 800}); /* Pull out right away */
$("#ticker").oneTime(15000,function(i) { /* Afterwards */
$("#ticker").animate({right: "-450"}, {duration: 800});/* Retract ticker */
});
$("#ticker").oneTime(16000,function(i) { /* Afterwards */
/* Hide all divs */
$('#ticker1').hide();
$('#ticker2').hide();
$('#ticker3').hide();
});
});
} else {
$("#ticker").animate({right: "-450"}, {duration: 800}); /* Retract ticker */
$("#ticker").oneTime(1000,function(i) { /* Afterwards */
$('div#ticker div:eq(' + (randomNum) + ')').hide(); /* Hide that div */
});
$("#ticker").stopTime();
}
}
/* when nav item is clicked re-run news ticker function but give it new class to prevent activity */
$("#nav li").click(function() {
$("#ticker").addClass("noTicker");
newsTicker();
});
/* when close button is clicked re-run news ticker function but take away new class so activity can start again */
$("#cboxClose").click(function() {
$("#ticker").removeClass("noTicker");
newsTicker();
});
感謝,
韋德
我更新了網站,但無論它肯定是行不通的。我會嘗試更新jQuery,但我不確定這是否會打破它,有些東西可能依賴於特定的版本。 – 2010-03-29 03:12:21
好的更新工作正常,但沒有解決問題。 – 2010-03-29 03:15:15
看來,無論我將removeClass附加到它的哪個鏈接都不起作用,我也嘗試將addClass附加到那裏,並且它不起作用。這意味着問題不是鏈接,不是removeClass ...這是別的。 – 2010-03-29 03:39:48