【问题标题】:Manual background div slideshow手动背景 div 幻灯片
【发布时间】:2011-03-24 04:05:21
【问题描述】:

我需要制作一个 css 背景图像渐变幻灯片。由于几个原因,我的 html 中不能有物理 div。它是具有当前背景的名为 -home- 的类的主体。幻灯片将有 4 张图片,不多也不少,所以不必动态。

我已经有以下jquery:

<script type="text/javascript">
$(document).ready(function() {
    var original_image = '#000000 url(images/bg_home.jpg) top center no-repeat';
    var second_image = '#000000 url(images/bg_home2.jpg) top center no-repeat';
    var third_image = '#000000 url(images/bg_home3.jpg) top center no-repeat';
    var fourth_image = '#000000 url(images/bg_home4.jpg) top center no-repeat';

    $('.home').click(function() {
        $(this).css('background', second_image);
    });
});
</script>

所以,如您所见,这是一个非常简单的脚本,只有在我单击常规 -home- div 时才有效。任何人都可以帮助我将其转换为简单的淡入淡出幻灯片而无需任何点击吗?它应该刚刚开始执行淡入淡出幻灯片 onload。

非常感谢!

【问题讨论】:

    标签: jquery css background slideshow fade


    【解决方案1】:

    建议:

    $(function(){
       var images = [
           'bg_home.jpg',
           'bg_home2.jpg',
           'bg_home3.jpg',
           'bg_home4.jpg' 
       ],
       loop = 0,
       $home = $('.home');
    
       (function fader(){
            $home
            .fadeOut('fast', function(){
                $home.css('background', '#000000 url(' + images[loop] + ') top center no-repeat');
                $home.fadeIn('fast', function(){
                     setTimeout(fader, 3000);
                });
            });
    
            if(loop < images.length) 
               loop++;
            else loop = 0;                
        })();         
    });
    

    【讨论】:

    • 非常感谢!它肯定会做一些事情,虽然不是很正确。现在发生的是 onload 图像显示大约一毫秒,逐渐变黑。然后“图像”(虽然是黑色的)正在褪色。
    • @Mathijs:应该可以,我在这里创建了一个示例:jsfiddle.net/Yjm89
    • 是的,确实有效!我只需要微调一下。谢谢!只有一件事:中间有一张黑色图像,一张名为“未定义”的图片。
    • @Mathijs:应该是因为我创建了一个小错误。在if statement 中应该是images.length - 1。
    • 是的,我自己想通了 :-) 谢谢你的帮助,真的!
    猜你喜欢
    • 2012-09-14
    • 1970-01-01
    • 1970-01-01
    • 2011-03-26
    • 1970-01-01
    • 2012-08-04
    • 2015-08-26
    • 1970-01-01
    相关资源
    最近更新 更多