javascript - 每秒动态更改背景图像

标签 javascript jquery html css

我使用以下代码将 HTML 字符串动态添加到 div 元素。 我想在将 HTML 添加到 DOM 后每秒更改一次图像。 但是我的代码不起作用。我的错误在哪里?

var images = ["http://pathToImg1.jpg", "http://pathToImg2.jpg"];

    var result =   '<div class="result">'+
                      '<a href="'+url+'" target="_blank" id="resultTitle" class="resultTitle">'+urlTitle+'</a>'+
                      '<p id="resultDescription" style="height: 15px;">'+
                      '<div class="resultImg" style="background-image: url('+images[0]+');"></div>'+
                      '<span class="resultDescription" style="margin:0px 15px 0px 0;">'+description+'</span></p>'+
                      '<p id="resultUrl" class="resultUrl">'+url+'</p>'+
                   '</div>';

    $("#"+targetId).append(result);

    var i = 0;
    setInterval(function() {
          var el = $(result).find(".resultImg");
          $(el).css('background-image', 'url("' + images[i] + '")');
          i = i + 1;
          if (i == images.length) {
            i =  0;
          }
    }, 1000);

最佳答案

你那里有一个错误:

var el = $(result).find(".resultImg");

选择 result 变量中包含的字符串不会给您带来任何效果,因此您需要从用于附加结果的父元素中选择元素。

这一行需要这样修改:

var el = $("#"+targetId).find(".resultImg");

关于javascript - 每秒动态更改背景图像,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41610814/

相关文章:

PHP:同时理解 POST 和 GET 时遇到困难

javascript - 浏览器如何管理样式加载顺序优先级?

javascript - NoFlo 错误 : TypeError: Object #<Port/ArrayPort> has no method 'isAddressable'

javascript - 如何使用 Fontselect jQuery 插件以编程方式选择字体?

javascript - 如何显示 div 上隐藏的内容

javascript - HTML onload - 使用变量作为参数

javascript - 使用 jQuery 隐藏/取消隐藏列表元素

javascript - "Iterating"throw Promise 不允许生成不同的 id

javascript - spring mvc中使用jquery进行URL映射

javascript - 如何制作滑动图像查看器?