2015-11-08 3 views
1

Я пытаюсь сделать фотогалерею, где фоновое изображение элемента div изменяется на изображение, эскиз которого вы наведите курсор (для этого нельзя использовать jQuery).onmouseover javascript photo gallery

Вот мой HTML и JS код:

function displayImage(event) { 
 
    event = event || window.event; 
 
    var targetElement = event.target || event.srcElement; 
 

 
    if (targetElement.tagName == "IMG") { 
 
    document.getElementById("viewer").style.backgroundImage = targetElement.getAttribute("src"); 
 
    } 
 
}
<div id="viewer"> 
 
    <p>Hover over the image to display larger</p> 
 
</div> 
 

 
<div class="thumbnails" onmouseover="displayImage(event)"> 
 
    <div class="thumb-container"> 
 
    <img src="img/267400-R1-E003.jpg" /> 
 
    </div> 
 
</div>

где viewer идентификатор является то, что из сНа элемента я хочу, чтобы мои фотографии появляются, и onmouseover=displayImage вызывается в DIV тег контейнера моих тегов изображений.

ответ

0

Вы должны обернуть СРК изображения в url(), потому что то как CSS background-image работы:

function displayImage(event) { 
 
    event = event || window.event; 
 
    var targetElement = event.target || event.srcElement; 
 

 
    if (targetElement.tagName == "IMG") { 
 
     document.getElementById("viewer").style.backgroundImage = 'url(' + targetElement.getAttribute("src") + ')'; 
 
    } 
 
}
#viewer { 
 
    height: 200px; 
 
    width: 800px; 
 
}
<div id="viewer"> 
 
    <p></p> 
 
</div> 
 

 
<div class="thumbnails" onmouseover="displayImage(event)"> 
 
    <div class="thumb-container"> 
 
     <img src="http://media.caranddriver.com/images/media/51/dissected-lotus-based-infiniti-emerg-e-sports-car-concept-top-image-photo-451994-s-original.jpg"> 
 
    </div> 
 
</div>

+1

Вау, спасибо так много, я смотрел на это в течение нескольких часов и не мог» t понять это! (если бы вы не могли сказать, я совершенно новичок в этом!) У меня есть еще несколько вопросов, так как вы, очевидно, очень осведомлены !: –

+0

@IzGao Просто спросите каждого из них как отдельный вопрос. Здесь много полезных парней :) – totymedli

+0

1. is console.log (document.getElementById («просмотрщик»)); часть только для целей разработчика, чтобы убедиться, что он выбирает правильный идентификатор? 2. Знаете ли вы, как бы вы написали функцию onmouseleave, чтобы она вернулась к своему значению по умолчанию? –