这是以几种不同的方式完成的同一件事。它们都做同样的事情,但具有不同程度的紧凑性。
最后一种可能是最方便和最灵活的一种。您永远不必触摸您的 javascript 来更改图像src
值。
http://jsfiddle.net/yPAqY/
html:
<img id="imageid" src="imagegray.png" alt="">
jQuery:
$(document).ready(function () {
$('#imageid').on("click", function () {
var obj = $(this),
objAttr = obj.attr('src'),
first_img = 'imagegray.png',
second_img = 'imagecolor.png';
if (objAttr === first_img) {
obj.attr('src', second_img);
} else if (objAttr === second_img) {
obj.attr('src', first_img);
}
});
});
http://jsfiddle.net/yPAqY/1
html:
<img id="imageid" src="imagegray.png" alt="">
jQuery:
$(document).ready(function() {
$('#imageid').on("click", function() {
var obj = $(this),
first_img = 'imagegray.png',
second_img = 'imagecolor.png',
imgs = obj.attr('src') == first_img ? second_img : first_img;
obj.attr('src', imgs);
});
});
http://jsfiddle.net/yPAqY/2/
html:
<img id="imageid" src="imagegray.png" data-img2="imagecolor.png" alt="">
jQuery:
$(document).ready(function() {
var image = $('#imageid'),
imageSrc = image.attr('src'),
imageData = image.data('img2');
image
.removeAttr('data-img2')
.on("click", function() {
var obj = $(this),
imgs = obj.attr('src') == imageSrc ? imageData : imageSrc;
obj.attr('src', imgs);
});
});