2

我喜欢使用 Jquery 及其伴侣 Jquery Ui,但无法找到在一定时间内(如 5 秒)为背景图像设置动画的方法。我不能这样做:

$('sampleelement').animate({'background-image':'url(hello.jpg)'},5000);

有任何想法吗??

4

7 回答 7

2

这是不可能的。Css 不允许像这样对背景图像进行操作。您应该在内容后面放入一个带有背景的 div 并将其淡入:

<div id='background_img' style='display:none; position:absolute;'><!-- position me behind the content!--><img ... /></div> 
<div id='content'>YDADA</div>

$('#background_img').fadeIn(5000);
于 2009-05-02T14:11:36.780 回答
1

使用 jQuery背景位置动画插件。请参阅演示

于 2009-05-02T15:14:48.203 回答
0

为什么不使用动画 GIF?

于 2009-05-02T14:14:26.743 回答
0

Pim Jager 的方法是最接近没有动画 gif 的方法。

于 2009-05-02T14:44:18.870 回答
0

我在Cheer Us Up中所做的是使用基本的 javascript 来更改背景图像——

$(function(){
curr = 0;
setTimout(changeBg(),200); 

});

function changeBg() {
curr++;

document.body.style.backgroundPosition = curr + 20;

}

这就是基本思想。我没有使用 jquery,因为我只是想让它慢慢滑过。

于 2009-05-02T17:02:20.800 回答
0

您可以创建多个图像,然后使用 setTimeout 将一个替换为另一个。这有点像模拟 .gif,只是提供了更多的灵活性和质量。

于 2009-05-02T15:06:37.803 回答
0

这就是你需要的:http ://www.ovalpixels.com/bgImageTransition/

于 2011-06-20T14:31:50.543 回答