将图像加载到bootstrap carousel onClick

时间:2015-10-16 11:53:19

标签: javascript jquery bootstrap-carousel


我正在一个包含大量图片的html网站上工作,以减少加载时间我在用javascript点击封面图片时加载隐藏的图片,然后将其插入bootstrap轮播。

我试图成功,但不成功。图像无法加载。有帮助吗?
这是我的最后一段代码:

HTML

<li>
  <a href="#" onclick="imgFilter('.ar-img')">
    <img src="images/AR/01.jpg" alt="">
  </a>
  <div class="accordion carousel-inner">
    <div class="item active">
      <img src="images/AR/01.jpg" alt="slide">
    </div>
    <div class="item">
      <img class="ar-img" src="" data-src="images/AR/02.jpg" alt="slide">
    </div>
    <div class="item">
      <img class="ar-img" src="" data-src="images/AR/03.jpg" alt="slide">
    </div>
  </div>
</li>

<li>
  <a href="#" onclick="imgFilter('.br-img')">
    <img src="images/BR/01.jpg" alt="">
  </a>
  <div class="accordion carousel-inner">
    <div class="item active">
      <img src="images/BR/01.jpg" alt="slide">
    </div>
    <div class="item">
      <img class="br-img" src="" data-src="images/BR/02.jpg" alt="slide">
    </div>
    <div class="item">
      <img class="br-img" src="" data-src="images/BR/03.jpg" alt="slide">
    </div>
  </div>
</li>

JS

function imgFilter(id) {
    var imgId = $(id);

    $("imgId").each(function(i) {
        $("this").setAttribute('src', $("this").getAttribute('data-src'));
    });
};

1 个答案:

答案 0 :(得分:0)

以下内容:

$(".item img").each(function(i) {
    $("this").setAttribute('src', $("this").getAttribute('data-src'));
}

但是我会使用jQuery插件lazyload(http://www.appelsiini.net/projects/lazyload)。

假设你有css喜欢:

.item{
  width:200px;
  height:auto;
}
.item img{
  width:100%;
  height:auto;
}