我发现这是我需要的,但我需要能够在最后一次点击时切换回第一张原始图像。
所以我有第一张图片,我点击更改它,然后我需要再次点击它以显示 第一张图片。
这是一个小提琴的链接 http://jsfiddle.net/maniator/Sevdm/
答案 0 :(得分:2)
您可以利用以下事实:可以在JS元素上存储任意属性,例如:
$(function() {
$('.menulink').on('click', function() {
var img = document.getElementById('bg');
if (img.old) { // restore the original
img.src = img.old;
delete img.old;
} else { // store original, and change
img.old = img.src;
img.src = 'http://.../';
}
return false;
});
});
答案 1 :(得分:2)
您可以将旧的src
值存储在变量中:
$(function() {
var old_img = '';
$('.menulink').click(function(e){
e.preventDefault();
if(old_img == '') {
old_img = $("#bg").attr('src');
$("#bg").attr('src',"http://placehold.it/333/3ef/img/picture1.jpg");
} else {
$("#bg").attr('src', old_img );
old_img = '';
}
});
});
答案 2 :(得分:0)
另一种解决方案是,您可以将所有图像保存在html中,并根据需要添加更多图像:
<a href="" title="Switch" class="menulink">switch me</a>
<img src="http://placehold.it/333/3ef/img/picture1.jpg"/>
<img src="http://placehold.it/333/fe3/img/picture2.jpg"/>
javascript(这不是很可扩展,但它是一个不错的起点):
$(function() {
var currentImage = 0;
$('img').not(':first').hide(0);
$('.menulink').click(function(e){
e.preventDefault();
$('img').eq(currentImage).hide(0);
currentImage = currentImage >= $('img').length-1 ? 0 : currentImage+1
$('img').eq(currentImage).show(0);
});
});
请参阅小提琴:http://jsfiddle.net/e95K5/