如何在div元素上转换多个背景图像?

ByteMyPixel

我从以下Codepen示例开始:https ://codepen.io/dudleystorey/pen/qEoKzZ

JS:

var bgImageArray = ["lonely.jpg", "uluwatu.jpg"..."],
base = "https://s3-us-west-2.amazonaws.com/s.cdpn.io/4273/full-",
secs = 4;
bgImageArray.forEach(function(img){
    new Image().src = base + img; 
    // caches images, avoiding white flash between background replacements
});

function backgroundSequence() {
    window.clearTimeout();
    var k = 0;
    for (i = 0; i < bgImageArray.length; i++) {
        setTimeout(function(){ 
            document.documentElement.style.background = 
            "url(" + base + bgImageArray[k] + ") no-repeat center center fixed";
            document.documentElement.style.backgroundSize ="cover";
        if ((k + 1) === bgImageArray.length) { setTimeout(function() 
            { backgroundSequence() }, (secs * 1000))} else { k++; }         
        }, (secs * 1000) * i)   
    }
}
backgroundSequence();

我在这里尝试的小提琴:https : //jsfiddle.net/ByteMyPixel/x37fk6js/1/

JS:

    var bgImageArray = ['~text?txtsize=69&txt=Slide+2&w=816&h=300&txttrack=0', 
            '~text?txtsize=69&txt=Slide+3&w=816&h=300&txttrack=0'],
    base = "https://placeholdit.imgix.net/",
    secs = 4;
    bgImageArray.forEach(function(img){
        new Image().src = base + img; 
        // caches images, avoiding white flash between background replacements
    });

    function backgroundSequence() {
        window.clearTimeout();
        var k = 0;
        for (i = 0; i < bgImageArray.length; i++) {
            setTimeout(function(){ 
                $('.tab-content-wrapper').css('backgroundImage', 
            "url(" + base + bgImageArray[k] + ") no-repeat center center fixed");
                $('.tab-content-wrapper').css('backgroundSize' , "cover");
            if ((k + 1) === bgImageArray.length) { setTimeout(function() 
            { backgroundSequence() }, (secs * 1000))} else { k++; }         
            }, (secs * 1000) * i)   
        }
    }
    backgroundSequence(); 

基本上,我希望本部分右边的背景图像在约5张不同的图像之间转换:

在此处输入图片说明

sm1215

我已经使用工作版本更新了您的提琴:https : //jsfiddle.net/sm1215/r5or5w6m/3/

几件事关闭了

  1. Your external resource was incorrectly pulling in jQuery-ui instead of just jQuery. If you check your console, you can see there is a problem with jQuery being undefined. This is the first thing to check to make sure the proper resource is being loaded.
  2. This line below is slightly off.

    $('.tab-content-wrapper').css('backgroundImage', "url(" + base + bgImageArray[k] + ") no-repeat center center fixed");

You're setting too many properties at once for "backgroundImage". The properties "no-repeat center center fixed" are multiple properties that defined "background-repeat, background-position, and background-attachment" respectively. You could set all of these at once by just using 'background' (this is considered shorthand css), or you can set each one individually by wrapping your css in curly braces like so:

$('.tab-content-wrapper').css({
    'backgroundImage': "url(" + base + bgImageArray[k] + ")",
    'background-repeat': "no-repeat",
    'background-position': "center center",
    'background-attachment': fixed"
});

It's also unnecessary to set all of these for every new image based on your current fiddle's CSS. These are already set once there, so no need to do it all again. You only need to change the URL.

  1. Careful with your jQuery selectors. There are too many periods on this line and it will cause problems

    $('..tab-content-wrapper').css('backgroundSize' , "cover");

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

如何在TImage上显示Div背景图像

来自分类Dev

如何在TImage上显示Div背景图像

来自分类Dev

如何在具有背景尺寸的div上缩放背景图像

来自分类Dev

如何在旋转图像CSS或Javascript时使背景图像填充空白(在div上)?

来自分类Dev

如何在包含背景图像的空div上覆盖div?

来自分类Dev

如何在多个div中划分单个背景图像以创建“窗口式”效果?

来自分类Dev

如何仅使用 CSS 过渡元素的多个背景图像

来自分类Dev

如何在图像上做出响应的背景图像

来自分类Dev

如何在另一个背景图像上获取带有文本的div

来自分类Dev

如何在CSS中组合背景图像+线性渐变?背景图像上的线性渐变

来自分类Dev

如何在JavaFx中添加多个背景图像

来自分类Dev

CSS:如何在div中模糊背景图像?

来自分类Dev

CSS:如何在div中模糊背景图像?

来自分类Dev

如何在 div 中使用背景图像?

来自分类常见问题

如何在背景图像上添加颜色叠加?

来自分类Dev

如何在Bootstrap表单上放置背景图像?

来自分类Dev

如何在小型设备上放大背景图像

来自分类Dev

如何在屏幕上显示背景图像?

来自分类Dev

如何在Rails上显示整页背景图像?

来自分类Dev

在动态元素上设置背景图像

来自分类Dev

背景图像上的羽毛 div 边缘

来自分类Dev

在多个div上随机化背景图像而不显示相同图像

来自分类Dev

如何在 Safari 上以线性渐变透明去除背景图像上的灰色背景

来自分类Dev

如何使div背景图像响应

来自分类Dev

如何使div背景图像响应?

来自分类Dev

DIV中有多个背景图像时,如何只旋转一张图像?

来自分类Dev

如何在背景图像上相对于图像定位 UI 元素

来自分类Dev

选择上的多个单选按钮将div与向下箭头附加为背景图像

来自分类Dev

如何使多个div更改一个div的背景图像

Related 相关文章

  1. 1

    如何在TImage上显示Div背景图像

  2. 2

    如何在TImage上显示Div背景图像

  3. 3

    如何在具有背景尺寸的div上缩放背景图像

  4. 4

    如何在旋转图像CSS或Javascript时使背景图像填充空白(在div上)?

  5. 5

    如何在包含背景图像的空div上覆盖div?

  6. 6

    如何在多个div中划分单个背景图像以创建“窗口式”效果?

  7. 7

    如何仅使用 CSS 过渡元素的多个背景图像

  8. 8

    如何在图像上做出响应的背景图像

  9. 9

    如何在另一个背景图像上获取带有文本的div

  10. 10

    如何在CSS中组合背景图像+线性渐变?背景图像上的线性渐变

  11. 11

    如何在JavaFx中添加多个背景图像

  12. 12

    CSS:如何在div中模糊背景图像?

  13. 13

    CSS:如何在div中模糊背景图像?

  14. 14

    如何在 div 中使用背景图像?

  15. 15

    如何在背景图像上添加颜色叠加?

  16. 16

    如何在Bootstrap表单上放置背景图像?

  17. 17

    如何在小型设备上放大背景图像

  18. 18

    如何在屏幕上显示背景图像?

  19. 19

    如何在Rails上显示整页背景图像?

  20. 20

    在动态元素上设置背景图像

  21. 21

    背景图像上的羽毛 div 边缘

  22. 22

    在多个div上随机化背景图像而不显示相同图像

  23. 23

    如何在 Safari 上以线性渐变透明去除背景图像上的灰色背景

  24. 24

    如何使div背景图像响应

  25. 25

    如何使div背景图像响应?

  26. 26

    DIV中有多个背景图像时,如何只旋转一张图像?

  27. 27

    如何在背景图像上相对于图像定位 UI 元素

  28. 28

    选择上的多个单选按钮将div与向下箭头附加为背景图像

  29. 29

    如何使多个div更改一个div的背景图像

热门标签

归档