【问题标题】:Image galleries with <img> tag?带有 <img> 标签的图片库?
【发布时间】:2016-04-22 04:52:17
【问题描述】:

我正在建立一个网站,我需要在一组照片上“实现”一个画廊。由于我使用的是 Spring MVC,因此我的图像带有“img src..”标签,并且常规 js 和 jquery 插件不起作用。是否有任何插件/库可以帮助我做到这一点?如果没有,也欢迎提出建议。这是html,如果它可以以某种方式提供帮助。

<div id="img-slider">

                <img class="slider-img" src="/LBProperties/img/bisc.jpg"/>
                <img class="slider-img" src="/LBProperties/img/bisc1.jpg"/>

</div>

谢谢!

【问题讨论】:

  • “常规的 js 和 jquery 插件不起作用” ?为什么?

标签: javascript jquery html css


【解决方案1】:

您可以使用 CSS 隐藏所有图像:

img {
  width: 100px;
  height: 100px;
  display: none;
}

获取图像的处理程序:

var slider = document.querySelector('#img-slider');
var images = slider.getElementsByTagName('img');

将索引设置为 0:

var index = 0;

然后显示第一张图片:

images[index].style.display = 'block';

在您的 HTML 中添加一个按钮:

<div>
<button id="next">Next</button>
</div>

使用脚本获取并添加点击处理程序:

var button = document.querySelector('#next');

button.addEventListener('click', function() {
  for (var ix = 0; ix < images.length; ix++) {
    images[ix].style.display = 'none';
  }

  index++;
  if (index >= images.length) index = 0;
  images[index].style.display = 'block';
});

点击处理程序遍历图像并隐藏它们,增加索引,检查以确保索引没有超过图像的数量(如果超过则将其重置为 0),然后显示下一个图像。

把它们放在一起:

https://jsfiddle.net/subterrane/osszqoLe/

【讨论】:

  • 好人会.. 使用jQuery 会更容易
  • 我不知道。键入 'document.querySelector' 而不是 '$' 并不太难。 ;) [我是故意迟钝的。] 如果您熟悉 jQuery,我认为您可能是对的。如果我记得,有很多快捷方式可以操作集合而无需遍历它们。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-08-30
  • 2018-03-05
  • 1970-01-01
  • 1970-01-01
  • 2012-12-11
  • 2014-03-13
相关资源
最近更新 更多