问题描述
|
我当前有一个图像,当您单击它时会更改,但是当我单击另一个图像时,我希望它返回到其默认图像状态。
我到目前为止的代码如下。
$(\'a img.lrg\').click(function(){
var newSrc = $(this).attr(\"src\").replace(\"largefont.gif\",\"largefonton.gif\");
$(this).attr(\"src\",newSrc);
});
如何更改此效果以达到预期效果?
谢谢,
周六
解决方法
用ѭ1hold住旧的src
$(\'a img.lrg\').click(function(){
$(\'a img.lrg\').each(function(index,item){
if($(item).data(\'old-src\') != undefined){
$(item).attr(\'src\',$(item).data(\'old-src\')); // bring back old image
}
})
var old_src = $(this).attr(\"src\");
$(this).data(\'old-src\',old_src);
var newSrc = $(this).attr(\"src\").replace(\"largefont.gif\",\"largefonton.gif\");
$(this).attr(\"src\",newSrc);
});
小提琴:http://jsfiddle.net/maniator/94CqN/
,查看jQuery的blur()函数。 http://api.jquery.com/blur/
,$(this).attr(\"src\",\"largefonton.gif\");
这会帮忙!!
,$(\'a img\').click(function(){
var newSrc = $(this).attr(\"src\").replace(\"largefonton.gif\",\"largefont.gif\");
$(this).attr(\"src\",newSrc);
});
您可以为所有a> img标签添加全局操作,将其放在$(\'a img.lrg \')。click(function(){jquery之前,否则它将在
否则您可以使用鼠标事件,如果您离开图片(可以将其放在任何地方)
$(\'a img\').mouseout(function(){
var newSrc = $(this).attr(\"src\").replace(\"largefonton.gif\",\"largefont.gif\");
$(this).attr(\"src\",newSrc);
});
或者,您可以为img标签设置一个唯一的ID:因此,您可以通过img.className#unqiueID在页面加载时设置的ID或某个随机变量进行选择