1

这真的很简单,但我不是程序员。我只是用一般的问题解决技巧来蛮力编码。它不适合这个。此代码设置为随机化背景图像,并且可以正常工作。但是,它设置为等到页面完全加载,所以它的时间太不一致了。据我了解, document.ready 会给我更一致(和更快)的时间安排,但我似乎无法让它发挥作用。这是工作版本:

<script type="text/javascript"> 
    function changeImg(imgNumber) { 
        var myImages = [
            "http://static.tumblr.com/0obftwk/u0Am8xfjf/streetarturbaninphilade.jpg",
            "http://static.tumblr.com/0obftwk/Xmym8xfet/artmuseumarea.jpg",
            "http://static.tumblr.com/0obftwk/znNm8xf9e/rowhouseswestphilly.jpg",
            "http://static.tumblr.com/0obftwk/af1m8xf87/phillyvista.jpg",
            "http://static.tumblr.com/0obftwk/ydIm8xf74/chinagatephiladelphia.jpg",
            "http://static.tumblr.com/0obftwk/8kCm8xf41/broadritner.jpg"
        ]; 
        var imgShown = document.body.style.backgroundImage; 
        var newImgNumber =Math.floor(Math.random()*myImages.length);
        document.body.style.backgroundImage = 'url('+myImages[newImgNumber]+')'; 
    }   

    window.onload=changeImg;
</script>
4

1 回答 1

0

如果在加载页面之前知道图像列表,请在 CSS 中粘贴对图像的引用,然后只需更改 document.body 上的 className

.bgClass1 {background-image: url(http://static.tumblr.com/0obftwk/u0Am8xfjf/streetarturbaninphilade.jpg)}

... 等等...

<body class="bgClass1">

否则,用js构建一个预加载器

于 2012-08-28T22:44:34.677 回答