首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >向图片库添加箭头- JS

向图片库添加箭头- JS
EN

Stack Overflow用户
提问于 2016-09-04 15:25:18
回答 1查看 1.1K关注 0票数 1

对于JavaScript和Stackoverflow来说,我还是个新手,我只是想把可点击的按钮添加到图片库中。

我现在对JavaScript的下一步有点迷茫,任何关于如何在图像中循环的提示都会很棒。

干杯

https://jsfiddle.net/KrnRbts/zkvu16nv/

HTML:

代码语言:javascript
复制
"use strict";
(function() {
var thumbnails = document.querySelectorAll('.gallery__img'),
  imageMain = document.querySelector('.image-main');
var leftArrow = document.querySelector('.material-icons left-btn'),
  rightArrow = document.querySelector('.material-icons right-btn');
var currentIndex = 0;

for (var i = 0; i < thumbnails.length; i++) {
  thumbnails[i].addEventListener('click', function(evt) {
  imageMain.src = evt.target.src.replace('150/100', '1000/400');
});
}

function arrows() {
thumbnails.click();
}

function moveLeft(leftArrow){
for (var j = 0; j < currentIndex.length; j--){
currentIndex--;
}
}

function moveRight(rightArrow){
for (var j = 1; j < currentIndex.length; j++){
currentIndex++;
}
}

})();

JS:

代码语言:javascript
复制
<div class="gallery__wrapper">
 <div class="image-main__wrapper">
 <img class="image-main" src="https://unsplash.it/g/1000/400?image=0">
    <div id="arrows">
      <i class='material-icons left-btn'>chevron_left</i>
      <i class='material-icons right-btn'>chevron_right</i>
    </div>
    <div class="image-thumbnails__wrapper">
      <ul class="thumbnails">
        <li><img id="thumb-1" class="gallery__img" src="https://unsplash.it/g/150/100?image=1"></li>
        <li><img id="thumb-2" class="gallery__img" src="https://unsplash.it/g/150/100?image=2"></li>
        <li><img id="thumb-3" class="gallery__img" src="https://unsplash.it/g/150/100?image=3"></li>
        <li><img id="thumb-4" class="gallery__img" src="https://unsplash.it/g/150/100?image=4"></li>
        <li><img id="thumb-5" class="gallery__img" src="https://unsplash.it/g/150/100?image=5"></li>
        <li><img id="thumb-6" class="gallery__img" src="https://unsplash.it/g/150/100?image=6"></li>
        <li><img id="thumb-7" class="gallery__img" src="https://unsplash.it/g/150/100?image=7"></li>
        <li><img id="thumb-8" class="gallery__img" src="https://unsplash.it/g/150/100?image=8"></li>
      </ul>
    </div>
  </div>
</div>
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-09-04 16:08:38

这里有一个解决方案:https://jsfiddle.net/99x4a1da/

代码语言:javascript
复制
"use strict";
(function() {
  var thumbnails = document.querySelectorAll('.gallery__img'), //target thumbnail images,
      imageMain = document.querySelector('.image-main'); //target main image
  var leftArrow = document.querySelector('.material-icons.left-btn'),
      rightArrow = document.querySelector('.material-icons.right-btn');
  var currentIndex = 0;

  for (var i = 0; i < thumbnails.length; i++) {
      thumbnails[i].addEventListener('click', function(evt) {
        imageMain.src = evt.target.src.replace('150/100', '1000/400');
        currentIndex = evt.target.id.substr(6, evt.target.id.length) - 1;
    });
  }
  leftArrow.addEventListener('click', function(evt) {
    if (currentIndex > 0) {
        currentIndex--;
        imageMain.src = thumbnails[currentIndex].src.replace('150/100', '1000/400');
    }
  });

   rightArrow.addEventListener('click', function(evt) {
     if (currentIndex < thumbnails.length -1) {
          currentIndex++;
          imageMain.src = thumbnails[currentIndex].src.replace('150/100', '1000/400');
      }
  });


})();

说明:将单击侦听器添加到两个箭头按钮。在第一次加载页面时,索引将为0。因此,您只需跟踪索引,无论是箭头单击还是缩略图单击。当然,您需要检查是否允许转到上一个或下一个元素,或者您是否已经位于最后一个元素。为了检测哪个缩略图已经被点击以更新当前索引-不同的方法是可能的。这里使用的是<img>标记的id。

如果你有问题,请告诉我。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39314526

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档