2
我正在使用http://www.antiyes.com/jquery-blink-plugin來使文檔上的圖像閃爍。該插件的如何清除單擊元素的間隔
代碼是
(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("visibility") == "visible")
{
$(obj).css('visibility','hidden');
}
else
{
$(obj).css('visibility','visible');
}
}, options.delay);
});
}
}(jQuery))
不過我想停止特定圖像的閃爍,當我點擊它。目前我通過修改代碼如下
(function($) {
$.fn.blink = function(options) {
var defaults = { delay: 500, blinkClassName: 'blink' };
var options = $.extend(defaults, options);
return this.each(function()
{
var obj = $(this);
setInterval(function()
{
if ($(obj).attr('class').indexOf(options.blinkClassName) > -1)
{
if ($(obj).css("visibility") == "visible")
{
$(obj).css('visibility', 'hidden');
}
else
{
$(obj).css('visibility', 'visible');
}
}
else
{
if ($(obj).css("visibility") != "visible")
{
$(obj).css('visibility', 'visible');
}
}
}, options.delay);
});
}
} (jQuery))
我認爲必須有一些更好的方式來做到這一點(可能使用jQuery數據()),但無法弄清楚如何做到這一點做呢?
Hi lonesomeday ...真的非常好的解釋。非常感謝。 –
它更好地使用CSS類使用.addClass而不是使用.css(http://stackoverflow.com/questions/2336509/jquery-performance -css-or-addclass)。toggle()也值得一個速度測試 – yoavmatchulsky
@yoav我的意思是刪除'css'的東西 - 我已經編輯了我的代碼,現在它全部使用'toggle',布爾參數處理強制sho翅膀。 – lonesomeday