2015-05-20 5 views
-1

Вот массив, который я объявляю с изображениями с помощью Javascript. Мне нужны эти фотографии, чтобы быть href для нескольких сайтов (каждый сайт на каждом сайте). Есть ли простое решение? Я новичок в JavaScript ...как я могу сделать объект Image в массиве href

imgSlide = document.getElementById('img'); 
 
    
 

 
images = new Array(); 
 
images[0] = new Image(); 
 
images[0].src = "img1.jpg"; 
 
images[1] = new Image(); 
 
images[1].src = "img2.jpg"; 
 
images[2] = new Image(); 
 
images[2].src = "img3.jpg"; 
 
images[3] = new Image(); 
 
images[3].src = "img4.jpg"; 
 
images[4] = new Image(); 
 
images[4].src = "img4.jpg"; 
 
images[5] = new Image(); 
 
images[5].src = "img5.jpg"; 
 
images[6] = new Image(); 
 
images[6].src = "img6.jpg"; 
 
images[7] = new Image(); 
 
images[7].src = "img7.jpg"; 
 
    
 
}

ответ

0

Существовали два возможных решения: Добавление привязки вокруг Imgae или установка события onclick.

Я принял решение о событии onclick, потому что он может быть достигнут без какой-либо дальнейшей логики (не выбирая a и не устанавливая href).

Другое решение также находится здесь.

Если вы добавите обработчик onclick, не забудьте установить код в функциональном блоке.

var imgSlide = document.getElementById('img'); 
 
    
 

 
var images = new Array(); 
 
images[0] = new Image(); 
 
images[0].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb_ccw/sample_images/DSCF3300.JPG"; 
 
images[0].onclick = function(){window.location ="http://www.w3schools.com";} 
 
images[1] = new Image(); 
 
images[1].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb/sample_images/DSCF3165_2.jpg"; 
 
images[1].onclick = function(){window.location ="http://forum.xda-developers.com";} 
 
images[2] = new Image(); 
 
images[2].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb/sample_images/DSCF3352_2.jpg"; 
 
images[2].onclick = function(){window.location ="http://yelp.com";} 
 
images[3] = new Image(); 
 
images[3].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb_ccw/sample_images/DSCF1668.JPG"; 
 
images[3].onclick = function(){window.location ="http://www.finepix-x100.com";} 
 
images[4] = new Image(); 
 
images[4].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb/sample_images/DSCF1773.JPG"; 
 
images[4].onclick = function(){window.location ="";} 
 
images[5] = new Image(); 
 
images[5].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb/sample_images/DSCF3983_2.jpg"; 
 
images[5].onclick = function(){window.location ="";} 
 
images[6] = new Image(); 
 
images[6].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb_ccw/sample_images/DSCF2904_2.jpg"; 
 
images[6].onclick = function(){window.location ="";} 
 
images[7] = new Image(); 
 
images[7].src = "http://www.finepix-x100.com/de/sites/default/files/imagecache/sample_thumb_cw/sample_images/DSCF2564.JPG"; 
 
images[7].onclick = function(){window.location ="";} 
 

 
//length in ms 
 
var duration = 2000; 
 

 
var i = 0; 
 
    appendImage(i); 
 
for (i; i<images.length; i++){  
 
    appendImage(i); 
 
} 
 
setInterval(function(){ 
 
    imgSlide.removeChild(images[images.length-1]); 
 
    var i = 0; 
 
    appendImage(i); 
 
    for (i; i<images.length; i++){  
 
     appendImage(i); 
 
    } 
 
},(images.length) * duration); 
 

 

 

 
function appendImage(number){ 
 
    setTimeout(function(){ 
 
    if (number == 0){ 
 
    imgSlide.appendChild(images[number]); 
 
    }else if(number < images.length){ 
 
     imgSlide.removeChild(images[number-1]); 
 
     imgSlide.appendChild(images[number]); 
 
    } 
 
    },number * duration); 
 
}
<div id = "img"></div>

+0

Это работало !! Большое большое спасибо!! :) – user3662152

+0

Если он работает вверх и принимает ответ;) –

+0

кстати, изменил код, так что у вас есть реальное слайд-шоу;) –

0

Вы можете обернуть изображения в a элементов в то время как его href указывает на образ-х src:

var dv = document.getElementById('YOUR_CONTAINER'); 
for(var i = 0; i < images.length; i++) { 
    var a = document.createElement('a'); 
    a.href = images[i].src; 
    a.appendChild(images[i]); 
    dv.appendChild(a); 
} 
Смежные вопросы