javascript – 基于类更改的触发器功能

我有以下内容.我试图根据css类更改触发函数,但它不起作用.

<script type="text/javascript">

jQuery(document).ready(function(){

jQuery("#slider-banner").bind("cssClassChanged",function(){
    console.log("I'm Here!");
    if(jQuery("#slider-banner").hasClass('living-nutrients'))
    {
        jQuery("#home-middle-first").css("background-image","url([image path])");
    }
    else if(jQuery("#slider-banner").hasClass('right-partner'))
    {
        jQuery("#home-middle-second").css("background-image","url([image path])");
    }
    else if(jQuery("#slider-banner").hasClass('with-you'))
    {
        jQuery("#home-middle-third").css("background-image","url([image path])");
    }
});

    jQuery("#slider-banner").trigger('cssClassChanged');

colsole在页面加载时显示我的console.log消息,但在页面加载后类再次更改时不显示.有谁看到我做错了什么?

更新:

所以我已经知道“cssClassChanged”不合法……我试图调整我在其他地方找到的答案……我确实意识到如果jQuery是武器,我会很危险! (知道这是战斗的一半,对吧?)

我尝试使gdoron的answer与下面相关联:

<script type="text/javascript">

jQuery(document).ready(function() 
{
    function checkForChanges()
    {
        if(jQuery("#slider-banner").hasClass('living-nutrients'))
        {
            jQuery("#home-middle-first").css("background-image","url([image path])");
        }
        else if(jQuery("#slider-banner").hasClass('right-partner'))
        {
            jQuery("#home-middle-second").css("background-image","url([image path])");
        }
        else if(jQuery("#slider-banner").hasClass('with-you'))
        {
            jQuery("#home-middle-third").css("background-image","url([image path])");
        }

        else
            setTimeout(checkForChanges, 500);
    }
});
</script>

不过,我仍然缺少一些东西.它仅适用于页面加载的第一个类.

有人问我是怎么改变课程的.我正在使用一个滑块,每张幻灯片上都有一个ID为“slider-banner”的div,并且该类会根据我尝试切换背景图像的三个ID’d区域中的哪一个而变化.

解决方法:

没有这样的事件cssClassChanged我认为这解释了所有……

10小时前我回答了你如何检测课堂变化,请阅读我的答案there

更新:

function checkForChanges()
{
    var sliderBanner = jQuery("#slider-banner");
    if(sliderBanner.hasClass('living-nutrients'))
    {
        jQuery("#home-middle-first").css("background-image","url([image path])");
    }
    else if(sliderBanner.hasClass('right-partner'))
    {
        jQuery("#home-middle-second").css("background-image","url([image path])");
    }
    else if(sliderBanner.hasClass('with-you'))
    {
        jQuery("#home-middle-third").css("background-image","url([image path])");
    }    

    setTimeout(checkForChanges, 500);
}

jQuery(checkForChanges);
上一篇:在触发器中使用mysql用户


下一篇:c# – 激活触发后如何等待5秒?