2

我目前正在使用一个小的 jquery 脚本来旋转我正在为朋友的投资组合网站创建的投资组合网站上的背景图像,代码如下:

  counter = 1; 
    num_images = 9;
    dir = "IMAGE DIRECTORY URL";

    function rotateHeader() {


 var background_img = 'url(' + dir + '/image' + counter + '.gif)';

 jQuery('.category').css('background-image', background_img);  
 counter++; if (counter > num_images) counter = 1;

    }
    setInterval( "rotateHeader()", 5000 );

你可以看到它在这里工作:

www.iamanatom.com/site/the-good

我想做的是让图像和/或颜色淡入淡出。我想我必须预先加载图像才能做到这一点,然后在加载图片时添加某种淡入淡出属性。我该怎么做呢?

4

1 回答 1

1

这样的事情应该这样做

var counter = 1, 
    num_images = 9,
    dir = "IMAGE DIRECTORY URL";

function rotateHeader() {

    var background_img = 'url(' + dir + '/image' + counter + '.gif)';

    jQuery('.category').fadeOut(function() {
        jQuery(this).css('background-image', background_img).fadeIn();
    });  
    counter++; if (counter > num_images) counter = 1;
}
setInterval(rotateHeader, 5000 );

首先我们淡出当前背景图像,然后在回调函数中,更改背景图像,然后将其淡入。您可能希望使用fadeOut()fadeIn()间隔来获得您想要的效果。我还更改了setInterval()使用函数名称而不是字符串来评估。

于 2010-01-24T09:55:39.747 回答