Jquery 删除类不工作

标签 jquery class conditional-statements removeclass

我的网站在这里:http://treethink.com

我要做的是右侧的新闻滚动条,它位于 jquery 函数内。该函数立即启动并提取新闻摘要,然后按预期收回它。当导航时,它会向 div 添加一个类,然后该函数会检查该类以查看是否应该停止提取/收回。这一切都很好。

我遇到的问题是,单击关闭按钮(在内容窗口中)后,removeClass 将不起作用。这意味着它一直认为窗口是打开的,因此函数内的条件语句不会让它再次提取和缩回。通过简单的 Firebug 检查,它表明该类没有被删除。

这不是它没有找到的 cboxClose id,因为我尝试将其更改为一般的“a”标签,但它仍然无法工作,所以这肯定与 jQuery 有关。有人还建议使用快速alert()来检查回调是否正常工作,但我不确定这是什么。

这是代码:

/* 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 removeClass not working”的热门搜索结果,也许我可以发布此类问题的最常见解决方案。

不要这样做:

$('#selector').removeClass('.active');

这样做:

$('#selector').removeClass('active');

关于Jquery 删除类不工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2535384/

相关文章:

PHP 日期之间的比较

php - require() 和 include() 语句在条件语句中的行为是否不同?

javascript - 在谷歌地图API中自定义自动完成字段

javascript - 使用 Canvas 外解决方案时,如何使固定标题与 body 的其余部分保持一致?

c++ - 类成员函数的 GSL 集成

Java 抽象类字段覆盖

java - 如何从 Java Rest Web 服务返回 ajax 中的值?

javascript - 如何从 Javascript 中的迭代器内部返回一个值

swift - Swift 中没有类/结构自动完成

r - dplyr::rename() 如果满足列内容的条件