我喜欢使用 Jquery 及其伴侣 Jquery Ui,但无法找到在一定时间内(如 5 秒)为背景图像设置动画的方法。我不能这样做:
$('sampleelement').animate({'background-image':'url(hello.jpg)'},5000);
有任何想法吗??
我喜欢使用 Jquery 及其伴侣 Jquery Ui,但无法找到在一定时间内(如 5 秒)为背景图像设置动画的方法。我不能这样做:
$('sampleelement').animate({'background-image':'url(hello.jpg)'},5000);
有任何想法吗??
这是不可能的。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);
为什么不使用动画 GIF?
Pim Jager 的方法是最接近没有动画 gif 的方法。
我在Cheer Us Up中所做的是使用基本的 javascript 来更改背景图像——
$(function(){
curr = 0;
setTimout(changeBg(),200);
});
function changeBg() {
curr++;
document.body.style.backgroundPosition = curr + 20;
}
这就是基本思想。我没有使用 jquery,因为我只是想让它慢慢滑过。
您可以创建多个图像,然后使用 setTimeout 将一个替换为另一个。这有点像模拟 .gif,只是提供了更多的灵活性和质量。