我正在阅读this question关于如何在jQuery中创建一个元素“flash”,然而,最受欢迎的答案依赖于jQueryUI,如果我需要的是backgroundColor来制作动画,那么它非常大。 。有没有办法在不使用jQueryUI的情况下以类似的方式刷新元素的背景颜色?
答案 0 :(得分:2)
你可以编写一个包含for循环的函数,每个循环都有一些延迟。在循环的每个循环中,您可以减小/增加颜色值并将其设置为背景。这与animate具有相同的效果。
答案 1 :(得分:1)
这样的事情应该有效(我希望)。
function flash($element, times) {
var colors = ['#fff', '#000'];
$element.css('background-color', colors[times % colors.length]);
if (times === 0) return;
setTimeout(function () {
flash($element, times - 1);
}, 500);
}
在像这样的元素上使用它:flash($('#some_element'), 5)
答案 2 :(得分:0)
一种方式:
setInterval(function(){
$('#hello').css('background-color', 'red');
}, 100);
setInterval(function(){
$('#hello').css('background-color', 'green');
}, 150);
答案 3 :(得分:-2)
在对该页面上的答案进行一些搜索之后,我找到了一个jQuery workaround的链接,允许人们在jQuery元素上调用函数.highlight()
。虽然需要jQuery,但jQueryUI不是。