我的网站在这里:http ://treethink.com
我要做的是在 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();
});
谢谢,
韦德