如何匹配jquery中的单词

时间:2010-05-12 02:54:20

标签: jquery

我有图像,我淡入并在点击时淡出图像。 但我希望如果存在同样的话,那就不应该淡出/淡出。

我的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,那么我再次看到淡入淡出效果。如果再次点击相同的链接,有什么办法可以避免吗

2 个答案:

答案 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;