Atualmente, tenho uma imagem que muda quando você clica nela, mas quando clico em outra imagem, eu gostaria que ela retornasse ao estado de imagem padrão.
o código que tenho até agora está abaixo.
$("a img.lrg").click(function(){
var newSrc = $(this).attr("src").replace("largefont.gif", "largefonton.gif");
$(this).attr("src", newSrc);
});
Como posso mudar isso para fazer o efeito desejado?
Obrigado,
Sentou
Respostas:
1 para resposta № 1Usar data()
para segurar o antigo 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);
});
Violino: http://jsfiddle.net/maniator/94CqN/
1 para resposta № 2
Confira a função blur () do jQuery. http://api.jquery.com/blur/
0 para resposta № 3
$(this).attr("src", "largefonton.gif");
Isso ajudará !!
0 para a resposta № 4
$("a img").click(function(){
var newSrc = $(this).attr("src").replace("largefonton.gif", "largefont.gif");
$(this).attr("src", newSrc);
});
você poderia adicionar uma ação global para todas as tags> img, colocar isso antes de seu $ ("a img.lrg"). click (function () {jquery caso contrário, ele será executado após
que ou você poderia usar um evento de mouse, que se você se afastar da foto (você pode colocar isso em qualquer lugar)
$("a img").mouseout(function(){
var newSrc = $(this).attr("src").replace("largefonton.gif", "largefont.gif");
$(this).attr("src", newSrc);
});
Ou você pode definir um ID exclusivo para a tag img: assim, você seleciona por meio de um conjunto de ID img.className # unqiueID no carregamento da página ou por meio de alguma variável aleatória