我有图像,我淡入并在点击时淡出图像。 但我希望如果存在同样的话,那就不应该淡出/淡出。
我的jquery代码是
switch(current_id)
{
case 'l1':
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","rrr.gif").load( function() {
$(this).fadeIn(500);
});
});
break;
case 'l3':
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","cc1.gif").load( function() {
$(this).fadeIn(500);
});
});
break;
如果我点击链接1,则图像A会显示淡入淡出效果。 但如果我再次点击链接1 agan,那么我再次看到淡入淡出效果。如果再次点击相同的链接,有什么办法可以避免吗
答案 0 :(得分:0)
尝试添加另一个变量来检查......
var last_id;
if (last_id != current_id) {
last_id = current_id;
switch(current_id){
case 'l1':
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","rrr.gif").load( function() {
$(this).fadeIn(500);
});
});
break;
case 'l3':
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","cc1.gif").load( function() {
$(this).fadeIn(500);
});
});
break;
}
}
答案 1 :(得分:0)
检查图像的src
属性 - 如果尚未更改,请执行效果并将其加载。
switch(current_id)
{
case 'l1':
if($(left_img img").attr("src") != "rrr.gif") {
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","rrr.gif").load( function() {
$(this).fadeIn(500);
});
});
}
break;
case 'l3':
if($("#left_img img").attr('src') != "cc1.gif") {
$("#left_img img").fadeOut(500, function() {
$(this).attr("src","cc1.gif").load( function() {
$(this).fadeIn(500);
});
});
}
break;