0

我不明白为什么这不起作用:

$('#myDiv').css('background', 'url("Img/image.gif")').delay(500).css('background', 'none');

我希望#myDiv 有一个背景,并在 500 毫秒后将其删除。

有人可以帮忙吗?

4

3 回答 3

2

css不是动画,因此延迟不会影响它。

改用setTimeout

var $div = $('#myDiv').css('background', 'url("Img/image.gif")');

setTimeout(function(){
    $div.css('background', 'none');
}, 500);
于 2013-09-09T03:23:19.500 回答
0

只是一个错字。我认为您错过了以下#部分:

$('#myDiv')

它应该是和 id/class 选择器;否则 jQuery 将寻找一个名为myDiv.

顺便说一句,我认为 James Montagne 解决了上述真正的问题。

于 2013-09-09T03:22:46.213 回答
0

那是因为delay()与动画一起工作,而且我们不能在位图数据(如图像)之间进行动画处理fadeIn()fadeOut()而是尝试使用来创建褪色背景效果。

于 2013-09-09T03:23:15.277 回答