Изменение SRC основного div при зависании на другом div
<html>
<head><script src="jquery-1.10.1.min.js"></script></head>
<body>
<div><img src="images/img-40.jpg" class="Main-image"/></div>
<div id="iranimg"><img src="images/irani.jpg" style="display:none;"/>Iran </div>
<div id="spainimg"><img src="images/spanin.jpg" style="display:none;"/>Spain </div>
<div id="turkeyimg"><img src="images/turkey.jpg" style="display:none;"/>Turkey </div>
<script>
$(document).ready(function(){
$('#iranimg').hover(function() {
$( '.Main-image' ).attr("src","images/irani.jpg");
}, function() {
$( '.Main-image' ).attr("src","images/img-40.jpg");
});
})
</script>
</body>
</html>
я хочу измениться src of 'main-image' div with a
src из другого divs только при наведении на div.
Когда я парю над этим div, он заменяется определенным src
,
Я хочу динамически получить src
каждого div и заменить его src
основного изображения Div.
4 ответа
Решение
Получить src
внутреннего img
пометить при зависании и заменить на это
$('#iranimg,#spainimg,#turkeyimg').hover(function() {
$('.Main-image').attr("src", $('img',this).attr('src'));
}, function() {
$('.Main-image').attr("src", "images/img-40.jpg");
});
К вашему сведению: использовать class
вместо id
, так что вы можете сделать это более простым
JQuery:
$('.imgChange').hover(function() {
$('.Main-image').attr("src", $('img',this).attr('src'));
}, function() {
$('.Main-image').attr("src", "images/img-40.jpg");
});
HTML:
<div><img src="images/img-40.jpg" class="Main-image"/></div>
<div class="imgChange"><img src="images/irani.jpg" style="display:none;"/>Iran </div>
<div class="imgChange"><img src="images/spanin.jpg" style="display:none;"/>Spain </div>
<div class="imgChange"><img src="images/turkey.jpg" style="display:none;"/>Turkey </div>
Пытаться:
$('div[id$="img"]').hover(function() {
$( '.Main-image' ).attr("src",$(this).find('img').attr('src'));
}, function() {
$( '.Main-image' ).attr("src","images/img-40.jpg");
});
Вы имеете в виду это:
Вы можете сохранить изображения, если они были предварительно загружены, но используйте атрибут data и класс, чтобы добавить событие ко всем элементам div.
$(function() {
$('.countries').hover(function() {
$('.Main-image').attr("src", $(this).data("src"));
}, function() {
$('.Main-image').attr("src", "images/img-40.jpg");
});
})
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<div>
<img src="images/img-40.jpg" class="Main-image" />
</div>
<div class="countries" id="iranimg" data-src="images/irani.jpg">Iran</div>
<div class="countries" id="spainimg" data-src="images/spanin.jpg">Spain</div>
<div class="countries" id="turkeyimg" data-src="images/turkey.jpg">Turkey</div>
$('#iranimg').hover(function() {
$('.Main-image').attr('src', $(this).find('img').attr('src'));
}, function() {
$('.Main-image').attr('src', "images/img-40.jpg");
});