JQuery Наведите курсор мыши на изображение, чтобы поменять другое изображение в div выше
Я хотел бы добавить "-h.png"
до конца всех IMG SRC в < div id="swap" >
в то же время при наведении курсора мыши < img src="images/logo.png" />
и вернитесь к ".png"
MouseOut
Это то, что у меня есть, и оно не работает:
<div id="header-wrap">
<div id="swap">
<img src="images/4.png"/>
<img src="images/3.png"/>
<img src="images/2.png"/>
<img src="images/1.png"/>
</div>
<header id="header">
<div id="site-logo"><a href="#"><img src="images/logo.png" /></a></div>
</header>
</div><!-- /#header-wrap -->
$(document).ready(function() {
$('#site-logo').hover(function(){
$('#swap img').replace('.png','-h.png');
},
function(){
$('#swap img').replace('-h.png','.png');
});
});
Только что обновлено до ниже... изображения теперь меняются местами, но все 4 изображения меняются местами на /4-h.png вместо 4-h.png, 3-h.png, 2-h.png и 1-h.png
$(document).ready(function() {
var newSrc = "";
$('#site-logo').hover(function(){
newSrc = $('#swap img').attr('src').replace('.png','-h.png');
$('#swap img').attr('src', newSrc);
},
function(){
newSrc = $('#swap img').attr('src').replace('-h.png','.png');
$('#swap img').attr('src', newSrc);
});
});
4 ответа
Решение
Попробуй это:
/* so it's not working
$(document).ready(function() {
$('#site-logo').hover(function(){
$('#swap img').attr('src').replace('.png','-h.png');
},
function(){
$('#swap img').attr('src').replace('-h.png','.png');
});
});
*/
Хорошо, поэтому я понял, что метод.replace - это чистый JavaScript, попробуйте это:
$(document).ready(function() {
var newSrc = "";
$('#site-logo').hover(function(){
$('#swap img').each(function() {
newSrc = $(this).attr('src').replace('.png','-h.png');
$(this).attr('src', newSrc);
});
},
function(){
$('#swap img').each(function() {
newSrc = $(this).attr('src').replace('-h.png','.png');
$(this).attr('src', newSrc);
});
});
});
Вы можете попробовать это просто использовать .slice()
Таким образом, и вы можете достичь своей цели:
$('#site-logo').hover(function () {
var atr = $('#swap img').attr('src').slice(0, -4);
var newAtr = atr+'-h.png'
$('#swap img').attr('src', newAtr);
},function () {
var atr = $('#swap img').attr('src').slice(0, -6);
var newAtr = atr+'.png'
$('#swap img').attr('src', newAtr);
});
проверить скрипку: http://jsfiddle.net/6vqJV/
Попробуйте этот код
$(document).ready(function() {
$('#site-logo').hover(function(){
$('#swap img').attr('src','-h.png');
},
function(){
$('#swap img').attr('src','.png');
});
});
ИЛИ ЖЕ
$(document).ready(function() {
$('#site-logo').hover(function(){
$('#swap img').each(function(){
$(this).attr('src','-h.png');
});
},
function(){
$('#swap img').each(function(){
$(this).attr('src','.png');
});
});
});
$("#site-logo").hover(function () {
$("#swap img").each(function () {
var test = $(this).attr('src');
$("#helper").append("<span>" + test.replace('.png', '-h.png') + "</span><br />");
});
},
function () {
$("#swap img").each(function () {
var test = $(this).attr('src');
$("#helper2").append("<span>" + test.replace('-h.png', '.png') + "</span><br />");
});
});