3

メニューテキストを点滅させたいです。このコードはありますが、IE では動作しません。

(function($)
{
    $.fn.blink = function(options) {
        var defaults = { delay:500 };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var obj = $(this);
            setInterval(function() {
                if($(obj).css("color") == "rgb(255, 0, 0)")
                {
                    $(obj).css('color','#000000');
                }
                else
                {
                    $(obj).css('color','rgb(255, 0, 0)');
                }
            }, options.delay);
        });
    }
}(jQuery))

$(document).ready(function(){$('.blink').blink()})

誰かが私を助けることができますか?ありがとうございました!

4

4 に答える 4

5

ここでは、 Mini-Effects プラグインはよりシンプルである必要があります。非常に小さく、UI エフェクト ライブラリから必要なものがこれだけであれば、明らかに効率的です (その他の重要な要素である "throb"、"shake"、"bob" は別として)。

使い方は簡単です。必要なミニエフェクト プラグインをロードし、点滅させたい要素でblink()を呼び出すだけです。

<script type="text/javascript" charset="utf-8" src="javascripts/jquery.blink.min.js"></script>

次に、大きな明るい色のリソースでblink()を呼び出すだけです:

$(".selector").blink();
于 2010-07-29T10:43:50.173 に答える
2

obj を $(this) として設定するため、毎回 $(obj) の代わりに obj を呼び出す必要があります。

交換するだけ

obj = $(this);

だけで

obj = this;

それでも、てんかんや視力の悪い人などのことを考えてみてください。

于 2010-07-29T10:36:33.533 に答える
1

エクスプローラーで:

if($(obj).css("color") == "rgb(255, 0, 0)")

IEはこれを見るので、真実ではありません:

 $(obj).css("color") == "rgb(255,0,0)";

数字の間にスペースなし。

次のように変更することで修正できます。

$(obj).css('color','rgb(255, 0, 0)');

$(obj).css('color','rgb(255,0,0)');

if($(obj).css("color") == "rgb(255, 0, 0)")

if($(obj).css("color") == "rgb(255,0,0)")

それで:

(function($)
{
    $.fn.blink = function(options) {
        var defaults = { delay:500 };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var obj = $(this);
            setInterval(function() {
                if($(obj).css("color") == "rgb(255,0,0)")
                {
                    $(obj).css('color','#000000');
                }
                else
                {
                    $(obj).css('color','rgb(255,0,0)');
                }
            }, options.delay);
        });
    }
}(jQuery))
$(document).ready(function(){$('.blink').blink()})

編集:

            (function($)
{
    $.fn.blink = function(options) {
        var defaults = { delay:500 };
        var options = $.extend(defaults, options);

        return this.each(function() {
            var obj = $(this);
            var state = false;
            setInterval(function() {
                if(state)
                {
                    $(obj).css('color','#000000');
                    state = false;
                }
                else
                {
                    $(obj).css('color','rgb(255,0,0)');
                    state = true;
                }
            }, options.delay);
        });
    }
}(jQuery))
于 2010-07-29T10:40:54.253 に答える
0

コードを Firebug や Chrome のビルトイン開発者ツールでチェックしましたか? 私はあなたが変更する必要があると思います

}(jQuery))

の中へ

})(jQuery)

(かっこを動かして...)

于 2010-07-29T10:40:03.353 に答える