闪烁的jquery效果对firefox不起作用

时间:2013-12-03 10:53:55

标签: jquery

此代码适用于chrome,而不适用于firefox

$('#selectboardmodel').each(function() {
    var elem = $(this);
    setInterval(function() {
        if (elem.css('visibility') == 'hidden') {
            elem.css('visibility', 'visible');
        } else {
            elem.css('visibility', 'hidden');
        }    
    }, 500);
});

HTML是:

<span id="selectboardmodel">Select</span>
你能帮我解决一下吗?

由于

2 个答案:

答案 0 :(得分:0)

在Chrome和Firefox中,您的代码可以正常使用 - JSFiddle

不确定为什么要在ID上使用.each函数,因为ID应该是唯一的,因此应该只有一个!实现此功能的更好方法可能是:

JS

(function () {
    var elem = $('#selectboardmodel'),
        t = setInterval(function () {
            elem.toggleClass("hidden");
        }, 500);
})();

CSS

.hidden
{
    visibility:hidden;
}

修订JSFiddle

答案 1 :(得分:0)

我将代码更改为

                $('#selectboardmodel').each(function() {
                    var intID;
                    intID = setInterval ( RepeatCall, 1500 );
                    function RepeatCall() {
                        $("#selectboardmodel").fadeOut(500).fadeIn(1000);
                    }
                    $("#chosenone").change(function(){
                        $("#selectboardmodel").stop().fadeIn(100);
                        clearInterval(intID);      
                    });
                });

现在我获得了一个很好的眨眼,它适用于Chrome和Firefox。