【问题标题】:load images into bootstrap carousel onClick将图像加载到引导轮播 onClick
【发布时间】:2015-10-16 11:53:18
【问题描述】:


我正在开发一个包含大量图片的 html 网站,为了减少加载时间,我将在用户使用 javascript 点击封面图片时加载隐藏图片,然后将其插入引导轮播。

我尝试过,但没有成功。图片未加载。有什么帮助吗?
这是我最后的代码:

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'));
    });
};

【问题讨论】:

  • 不要在同一页面的不同元素上使用相同的 id。这是被禁止的!!!而是使用类。
  • @FarzadYZ,谢谢。更新

标签: javascript jquery bootstrap-carousel


【解决方案1】:

以下内容:

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

不过我会改用 jQuery 插件延迟加载 (http://www.appelsiini.net/projects/lazyload)。


假设你有类似的css:

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

【讨论】:

  • 还是不行,我得到了n.fn.init[1],更新了JS代码,lazyload需要img的高度和宽度,由于某种原因我无法设置img的高度&宽度
猜你喜欢
  • 1970-01-01
  • 2022-11-01
  • 2014-12-22
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-12-04
  • 1970-01-01
  • 2019-06-21
相关资源
最近更新 更多