我有20张图片,同样的20张图片用不同颜色调用同名,但第二张带有后缀" _blu" - > " google.jpg"另一个" google_blu.jpg" 我会使用鼠标悬停将其从一个更改为另一个。
我试过这样但是我不知道如何定位图像(我可以说"班级内的每一个图像.hovertondo)
jQuery(document).ready(function($) {
$(".hovertondo").css("opacity","1");
$(".hovertondo").hover(function () {
var src = $(this).attr('src');
$(this).attr('src', src.replace('_blu', ''));
$(this).stop().animate({opacity: 0}, "slow");
},function () {$(this).stop().animate({opacity: 1}, "slow");
$(this).attr('src', src.replace('_blu', ''));
});
});
HTML
<div class="conttondodentosofia">
<img src="http://studiodentisticocova.com/img/trattamenti/carie_blu.jpg" />
<div class="hovertondo">Carie</div>
</div>
我用firebug打开它,错误是
&#34; TypeError:$(...)。attr(...)未定义&#34; (谈论这一行$(this).attr(&#39; src&#39;,src.replace(&#39; _blu&#39;,&#39;&#39;));)
有人帮我吗? :) 谢谢!
答案 0 :(得分:1)
src
方法的第二个参数)中未定义 hover
:
更改此
$(".hovertondo").hover(function () {
var src = $(this).attr('src');
$(this).attr('src', src.replace('_blu', ''));
$(this).stop().animate({opacity: 0}, "slow");
},function () {$(this).stop().animate({opacity: 1}, "slow");
$(this).attr('src', src.replace('_blu', ''));
});
要
$(".hovertondo").hover(function () {
var src = $(this).attr('src');
$(this).attr('src', src.replace('_blu', ''));
$(this).stop().animate({opacity: 0}, "slow");
},function () {
var src = $(this).attr('src');
$(this).stop().animate({opacity: 1}, "slow");
$(this).attr('src', src.replace('_blu', ''));
});
顺便说一下,你在这两种情况下都在$(this).attr('src', src.replace('_blu', ''));
。有一种情况你需要在你的src中添加'_blu'。它会提供类似的东西:$(this).attr('src', src.replace('.jpg', '_blu.jpg'));
修改强>
您可以使用fadeOut
方法修改图像:
$('this').fadeOut(300, function(){
$(this).attr('src', src.replace('_blu', '')).bind('onreadystatechange load', function(){
if (this.complete) $(this).fadeIn(300);
});
});