jQuery在标签图像之间切换

时间:2010-11-05 21:48:47

标签: jquery

我正在努力进行简单的切换。嗯,应该很简单。我正在访问论坛和主题,并且无法让它发挥作用。

我有三张标签图片(不是任何套餐的一部分),我只想让点击的图片切换到“开”,其他人切换到“关闭”

<img class="mastheadTab" id="products" src="#application.viewImageDIR#/tab_products_on.gif" width="119" height="31" hspace="4">

<img class="mastheadTab" id="suppliers" src="#application.viewImageDIR#/tab_suppliers_off.gif" width="117" height="31" hspace="4">

<img class="mastheadTab" id="buyers" src="#application.viewImageDIR#/tab_buyers_off.gif" width="117" height="31" hspace="4">

这是我的松弛Jquery,需要修理。 不知何故,我需要重新初始化选项卡,因为点击相互交叉并在错误的位置显示错误的图像,而不是在第二次或第三次点击之后切换状态。

$(".mastheadTab").live("click", function(e) {
 var tab = $(this).attr("id")

 $('.mastheadTab').toggle(
  function(){$(this).attr("src", "/chinabuy-new/images/website/tab_" + tab + "_on.gif"); },
  function(){$(this).attr("src", "/chinabuy-new/images/website/tab_" + tab + "_off.gif"); }
 );
 e.preventDefault();
});

1 个答案:

答案 0 :(得分:0)

您可以在点击时获得id,如下所示:

$(".mastheadTab").click(function(){
  //turn the others off
  $(".mastheadTab").not(this).attr("src", function(i, src) {
    return src.replace("_on", "_off");
  });
  //toggle this image's source
  this.src = this.src.replace(/(_off|_on)/, function(i, m) {
    return m == "_off" ? "_on" : "_off";
  });
});

目前,您获得了所点击图片的id,并且每次都会附加一个{em>新切换click个处理程序集。相反,只需使用上面的代码获取您点击的图片id