Сделайте изображения кликабельными к следующему изображению в JavaScript

У меня есть ссылка Предыдущая / Следующая на моем сайте, которая позволяет мне просматривать изображения с этим кодом: <a href="JavaScript:previousImage()">Previous</a> | <a href="JavaScript:nextImage()">Next</a> <span id='num'></span>

Я разместил изображения в кодах ниже. Ссылки "Предыдущая / Следующая" работают отлично, но я хотел бы иметь возможность щелкать по самим изображениям, чтобы перейти к следующим изображениям: поэтому нажмите 1.jpg, затем перейдите к 2.jpg и т. Д., А затем щелкните по 5.jpg и нажмите вернуться к 1.jpg. Пожалуйста, сообщите, спасибо заранее за вашу помощь. Я начинающий, создаю свой сайт вслепую, и любая помощь очень ценится.

<script type="text/javascript">

var image = new Array("jpegs/1.jpg",
"jpegs/2.jpg",
"jpegs/3.jpg",
"jpegs/4.jpg",
"jpegs/5.jpg"
)

var imgNumber=1

var numberOfImg = image.length

function previousImage(){
  if(imgNumber > 1){
    imgNumber--
    }

  else{
    imgNumber = numberOfImg
    }

document.slideImage.src = image[imgNumber-1]

  }
function nextImage(){
  if(imgNumber < numberOfImg){
    imgNumber++
    }

  else{
    imgNumber = 1
    }

document.slideImage.src = image[imgNumber-1]

  }

</script>

2 ответа

Решение

Как насчет:

document.slideImage.onclick = nextImage;

Я бы также предложил использовать регистрацию событий (также для якорей):

document.slideImage.addEventListener('click', nextImage);

Я бы не рекомендовал использовать href="Javascript:function()"так, чтобы дать вам представление о том, как подойти к нему...

<script type="text/javascript">
  window.onload = function() {
    var n = 0;
    var src = ["jpegs/1.jpg", "jpegs/2.jpg", "jpegs/3.jpg", "jpegs/4.jpg", "jpegs/5.jpg"];
    var e = document.getElementById('slideImage');
    var prev = function() {
      n -= 1;
      if(n < 0) n = src.length - 1;
      e.setAttribute('src', src[n]);
    };        
    var next = function() {
      n += 1;
      if(n >= src.length) n = 0;
      e.setAttribute('src', src[n]);
    };
    e.onclick = next;
    document.getElementById('nextlink').onclick = next;
    document.getElementById('prevlink').onclick = prev;
  };
</script>

Этот метод не записывает переменные в window (исключая onload) и требует только id приписывать.

Другие вопросы по тегам