Добавление ссылок в слайд-шоу Javascript

#javascript #function

#javascript #функция

Вопрос:

Этот скрипт будет перебирать изображения, но я не могу понять, как заставить его распознавать ссылки, связанные с каждым изображением. Я думал, что могу просто использовать тот же счетчик «i» для перемещения по массиву ссылок, но это не работает.

 var images = [
"Image1.jpg",
"Image2.jpg",
"Image3.jpg"
];

var weblinks = [
"http://google.com",
"http://yahoo.com",
"http://dell.com"
];
var num = images.length;
var i = 0;
var t;

function play() {
if(typeof t === 'undefined') {
    t = setInterval(next, 2000);
}
}

function Stop() {
if(t) clearInterval(t);
}

function next() {
if(  i >= num) i = 0;
document.getElementById('img').src = images[i];
document.getElementById('link').src = webLinks[i];

}

function previous() {
if(--i < 0) i = num-1;
document.getElementById('img').src = images[i];
document.getElementById('link').src = webLinks[i];

}

window.onload = function() {
document.getElementById('img').src = images[0];
document.getElementById('link').src = webLinks[0];
a.href=link[i];

}
 

HTML

 <table width="50%" border="0" cellspacing="10" cellpadding top="0" align="center">
<tr>
<td><input type="button" value="Back" onclick="previous()"/></td>
<td align="center"><a id="link" href="#" target="_self"><img src="Image1.jpg" alt=""  id="img"/></a></td>
<td><input type="button" value="Next" onclick="next()"/></td>
</tr>
<tr>
<td colspan="3" align="center" height="50"><input type="button" value="Play" onclick="play()" />
  <input type="button" value="Stop" onclick="Stop()" /></td>
</tr>
</table>
 

Ответ №1:

Заменить document.getElementById('link').src на document.getElementById('link').href — вы меняете неправильный атрибут ссылки.

РЕДАКТИРОВАТЬ: также измените var weblinks на var webLinks — JavaScript чувствителен к регистру. И удалить a.href=link[i]; , который ничего не делает (поскольку a не определен, равно как и link).

Комментарии:

1. Произошла вторая ошибка — я отредактировал свой ответ, чтобы включить исправление

2. / facepalm. Спасибо. Теперь он работает нормально, несмотря на то, что IE утверждает, что он отобразил страницу с ошибкой.