我有一个放大的图像从拇指到大由ajax使用点击。jQuery ajax切换回到点击img src
他们是否使用相同的HTML元素只需更换IMG SRC 例如:
src="image_thumb.jpg"
开关
src="image_large.jpg"
我的问题是,如何当用户切换回拇指图像再次点击。
我有一个放大的图像从拇指到大由ajax使用点击。jQuery ajax切换回到点击img src
他们是否使用相同的HTML元素只需更换IMG SRC 例如:
src="image_thumb.jpg"
开关
src="image_large.jpg"
我的问题是,如何当用户切换回拇指图像再次点击。
由于toggle
在1.8被弃用,除去1.9,你应该这样做
$('img').on('click', function(){
var $this = $(this);
if ($this.data('originalSrc')){
$this.prop('src', $this.data('originalSrc'));
$.removeData(this, 'originalSrc');
} else {
$this.data('originalSrc', $this.attr('src'));
$this.prop('src', 'image_large.jpg');
}
});
您可以使用toggle-event API使用两种功能:一种从拇指变为大,另一种从大变为拇指。通过使用切换,每当用户点击时它将在两者之间交替。
如果你想尝试的类方法,你可以这样做:
$('img').on('click', function(){
if ($(this).hasClass('thumb')){
$(this).removeClass('thumb').addClass('large');
//set your large image here
} else {
$(this).removeClass('large').addClass('thumb');
//set your thumb image here
}
});
的奖金这里是你可以使用CSS进行任何更改,以适应大的图像或缩略图。
谢谢,现在就试试吧 – vzhen
这个可以,但是你能解释$(this)和var $ this = $(this)吗? – vzhen
在事件回调中,'this'引用了DOM元素。所以,你想“jqueryfy”你的DOM元素来操纵它,这就是'$ this'的原因。即使jQuery将多个调用缓存到同一个DOM元素,如果您要对其执行多个操作,始终将您的jquery对象与一组元素分配给一个变量是一种很好的做法 – pocesar