【问题标题】:jQuery Extracting html code from one spot and placing it in anotherjQuery从一个地方提取html代码并将其放置在另一个地方
【发布时间】:2016-08-12 21:40:46
【问题描述】:

我正在尝试操作一个横幅滑块,它会从所有横幅中获取所有 DOM 渲染的 img 标签(第一个除外),然后通过 设置超时。我只是想不因为图像的数量/大小而导致页面加载停滞。

我的问题是我似乎无法让 if 语句绕过 img 标签的第一个实例并删除其他实例。全部或全部,所以我认为 img[0] 可能不正确。我也试过 .first() 没有运气,还有 css' first-child & >nth-child(1)。我还尝试使用 img 标记 html 创建一个新数组,然后继续……但这也证明 不好

任何想法我可以如何做到这一点?如果你们有更好的方法,我愿意提供建议。

谢谢。

var img = $('div > img');
$.each(img, function(i) {
  if ( !img[0] ) {
     img.remove();
     setTimeout(function(){
        $('.main').append(img);
     }, i * 2000);
  }

});
.main {
   width: 200px;
   height: 80px;
   padding: 10px;
   overflow: visible;
   border: 2px solid red;
}
.div1,
.div2,
.div3 {
   width: 200px;
   height: 80px;
   background: #ccc;
   float: left;
   position: absolute;
}
.div2 {left:232px;}
.div3 {left:437px;}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div class="main">
       
   <div class='div1'>
      <img src="#" alt="">
   </div>
   <div class='div2'>
      <img src="#" alt="">
   </div>
   <div class='div3'>
      <img src="#" alt="">
   </div>

</div>

【问题讨论】:

    标签: javascript jquery slider banner


    【解决方案1】:

    您似乎在谈论延迟加载。看看lazysizes,他们有一个演示链接。

    【讨论】:

    • 是的,类似的东西......但不幸的是,这是针对 CMS 中已经内置的横幅系统的。我不能包含另一个第三方库。我必须使用 CMS 中的内容。
    • 也许可以尝试谷歌搜索延迟加载 vanilla js,但我尝试过并没有找到任何东西。如果你不能通过 CDN 加载外部库,我不知道。对不起。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2017-01-12
    • 2013-01-18
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多