当前位置: 首页 > 面试题库 >

在jQuery中使用淡入淡出效果更改身体背景图像

艾骏喆
2023-03-14
问题内容

嘿,我想在新的背景图像中淡出,每60秒说一次。我将背景图像设置如下:

body {background-image: url(background.jpg);}

现在我想更改它,所以在60秒后将其更改为background2.jpg,然后在60秒后将其更改为background3.jpg,依此类推。

我发现了很多东西,但没有改变它的身体,只是像图像一样……有什么快速解决方案

谢谢!


问题答案:

重新更新UPDATE:

甚至是更新的小提琴(没有arguments.callee)

变化:

  • JavaScript改进
  • CSS更正(现在适合整页)
  • 为图像的随机顺序而不是顺序添加了选项
  • => NEWER Fiddle的替代版本<=(如果OP的img服务器关闭)

大更新

从以前的答案中获得了这段代码的精髓,并添加了一些亮点(使用我的网站背景藏匿的笑声)

Javascript:

$(document).ready(function () {
    var img_array = [1, 2, 3, 4, 5],
        newIndex = 0,
        index = 0,
        interval = 5000;
    (function changeBg() {

        //  --------------------------
        //  For random image rotation:
        //  --------------------------

            //  newIndex = Math.floor(Math.random() * 10) % img_array.length;
            //  index = (newIndex === index) ? newIndex -1 : newIndex;

        //  ------------------------------
        //  For sequential image rotation:
        //  ------------------------------

            index = (index + 1) % img_array.length;

        $('body').css('backgroundImage', function () {
            $('#fullPage').animate({
                backgroundColor: 'transparent'
            }, 1000, function () {
                setTimeout(function () {
                    $('#fullPage').animate({
                        backgroundColor: 'rgb(255,255,255)'
                    }, 1000);
                }, 3000);
            });
            return 'url(http://www.fleeceitout.com/images/field.' + img_array[index] + '.jpg)';
        });
        setTimeout(changeBg, interval);
    })();
});

CSS:

body {
    height: 100%;
    width: 100%;
    margin: 0;
    padding: 0;
    position: relative;
    background-image: url(http://www.fleeceitout.com/images/field.2.jpg);
    background-size: cover;
    background-repeat: no-repeat;
    background-position: 0 0;
    background-attachment: fixed;
}
#fullPage {
    position: absolute;
    min-width: 100%;
    min-height: 100%;
    top: 0;
    left: 0;
    background-color: rgb(255, 255, 255);
}


 类似资料:
  • 问题内容: 到目前为止,我已经尝试了很多方法以达到以下效果,但均未成功: 有任何想法吗? 问题答案: 您可以淡化背景颜色,但不能淡化背景图像。解决此问题的方法是将图像作为标签,并默认隐藏它们。提供您的图像,这样它们就可以像背景一样发挥作用,并且位于其他一切之后。 这是一个图像快速变淡的示例。 HTML CSS jQuery

  • 问题内容: 如何使用jQuery淡入文本内容? 关键是要引起用户对消息的注意。 问题答案: 确切的功能(3秒发光以突出显示一条消息)在jQuery UI中实现为突出显示效果 颜色和持续时间可变

  • 本文向大家介绍jquery实现淡入淡出轮播图效果,包括了jquery实现淡入淡出轮播图效果的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了jquery实现淡入淡出轮播图的具体代码,供大家参考,具体内容如下 如题所述,直接上代码 其实淡入淡出轮播图的核心思想就是获取到当前的索引,根据索引找出图片的索引然后更改索引达到一个图片显示 其他图片消失 然后轮流交替进行的。最主要的核心思想在上面

  • 问题内容: ..当前它具有上/下滚动效果,但是我希望背景随着淡入淡出效果而改变,我应该在CSS中更改什么? 谢谢! 问题答案: 您无法在两个背景图片之间切换,因为浏览器无法知道您想要插入的内容。如您所知,您可以转换背景位置。如果您希望图像在鼠标悬停时淡入,我认为通过CSS过渡实现此效果的最佳方法是将图像放在包含元素上,然后在链接本身上为背景颜色设置动画:

  • 本文向大家介绍jQuery实现图片文字淡入淡出效果,包括了jQuery实现图片文字淡入淡出效果的使用技巧和注意事项,需要的朋友参考一下 本实例主要讲解了jquery仿新浪微博图片文字列表上下淡进淡出间歇上下滚动效果,分享给大家供大家参考,具体内容如下 1、效果及功能说明 仿新浪微博图片文字列表上下淡进淡出间歇上下滚动 2、实现原理 首先要设定div内只能显示4个图片那么多出来的图片会自动隐藏然后在

  • 本文向大家介绍基于jQuery实现淡入淡出效果轮播图,包括了基于jQuery实现淡入淡出效果轮播图的使用技巧和注意事项,需要的朋友参考一下 用JavaScript做了平滑切换的焦点轮播图之后,用jQuery写了个简单的淡入淡出的轮播图,代码没有做优化,html结构稍微有一些调整,图片部分用ul替换了之前用的div。 html结构如下:  css设置:  JavaScript代码:  精彩专题分享: