首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >计时器上的jQuery背景图像更改

问计时器上的jQuery背景图像更改
EN

Stack Overflow用户
提问于 2016-10-25 05:58:43
回答 2查看 799关注 0票数 0

我有一个div:

代码语言:javascript
复制
<div class="coverImage" style="background-image:url('3.2.5\\assets\\img\\backgroundCanvas1.jpg');"></div>

以及附加的每20秒旋转一次背景的jQuery脚本

代码语言:javascript
复制
var coverChange =
{
    init: function()
    {

        var itemInterval = 20000;

        var numberOfItems = 4;

        var currentItem = 1;

        $('.coverImage').attr("style", "background-image:url('3.2.5/assets/img/backgroundCanvas"+currentItem+".jpg'");

        //loop through the items
        var infiniteLoop = setInterval(function(){
            $('.coverImage').attr("style", "background-image:url()");

            if(currentItem == numberOfItems -1){
                currentItem = 1;
            }else{
                currentItem++;
            }
            $('.coverImage').attr("style", "background-image:url('3.2.5/assets/img/backgroundCanvas"+currentItem+".jpg'");

        }, itemInterval);
    }
};

coverChange.init();

当图像改变时,它恰好变白了下半部分,直到我稍微滚动。我的主要要求是帮助创建新图像的fadeIn。(其他一切都是次要的)

我已经尝试过使用jQuery fadeIn属性,但无法让它以一种无缝的、美观的方式工作。

我不是在寻找代码优雅的功能,正如你所说:-)

P.S最初通过CSS加载图像不起作用。

EN

回答 2

Stack Overflow用户

发布于 2016-10-25 06:37:37

您应该能够向coverImage元素添加一个简单的CSS转换。

代码语言:javascript
复制
.coverImage {
    transition: background 1s;
}

我已经在https://jsfiddle.net/mark_c/pa44n42k/1/创建了一个工作示例

票数 1
EN

Stack Overflow用户

发布于 2016-10-25 06:17:32

要获得淡入淡出效果,只需在此步骤之前淡出div即可:

$('.coverImage').attr("style", "background-image:url()");

然后在这一步之后淡入:

$('.coverImage').attr("style", "background-image:url('3.2.5/assets/img/backgroundCanvas"+currentItem+".jpg'");

对于淡入淡出,您可以使用简单的jquery,因为我想您已经这样做了,但不是正确的方式,所以祝您好运。

这将给你一个很好的淡入/淡出效果。:)

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40228194

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档