【问题标题】:Changing background image div更改背景图像 div
【发布时间】:2014-11-04 05:24:22
【问题描述】:

我想设计一个页面,在该页面上,背景图像以循环方式无限期地变化。现在我有了一些有用的东西,但前提是该页面上没有其他<div>s,因为它循环遍历所有divs。现在我想在其他divs 中添加内容,所以我需要以某种方式编辑jQuery,以便仅循环遍历类名中带有“backgnd”的divs。我该怎么做呢?我的示例链接:http://jsfiddle.net/bbqunfhu/26/ 编辑功能:

function fadeDivs() {
var visibleDiv = $('.bckgnd:visible:first'); //find first visible div
visibleDiv.fadeOut(400, function () {  //fade out first visible div
   var allDivs = visibleDiv.parent().children(); //all divs to fade out / in
   var nextDivIndex = (allDivs.index(visibleDiv) + 1) % allDivs.length;  //index of next div that comes after visible div
   var nextdiv = allDivs.eq(nextDivIndex); //find the next visible div
   nextdiv.fadeIn(400); //fade it in
});
};

【问题讨论】:

    标签: jquery html css fade indefinite


    【解决方案1】:

    我已更改为仅搜索具有“.bckgnd”类的子项。

    var allDivs = visibleDiv.parent().children('.bckgnd'); //all divs to fade out / in
    

    here

    【讨论】:

      【解决方案2】:

      使用下面的代码

      在下面的代码中,我有图像数组,把你的图像名称放在那里,我会随机选择背景图像,它会在那里显示

      在下面的代码中,我使用背景 dom 名称作为“background_image”,您可以根据需要更改 dom 名称

      $(function() {
      
      var images = ['img_login_bknd3.jpg', 'img_login_bknd2.jpg', 'img_login_bknd1.jpg', 'img_login_bknd4.jpg', 'img_login_bknd5.jpg', 'img_login_bknd6.jpg','img_login_bknd7.jpg', 'img_login_bknd8.jpg'];
      
      $('#background_image').css({'background-image': 'url(images/' + images[Math.floor(Math.random() * images.length)] + ')'});
      
      });
      

      【讨论】: