0

我尝试了不同的方法来让它发挥作用。我知道我必须包装函数但不能让它工作。该函数在 .js 文件中运行。

http://jsfiddle.net/hookedonweb/yq8Hz/

function showLabel(labelName) {
   var labelImgs = jQuery(".content .packaging .labels img");
   var focusImg  = jQuery("#label_" + labelName);

   if (labelImgs.length > 0 && focusImg.length > 0) {
       labelImgs.each(function() { jQuery(this).removeClass("active"); });

       focusImg.addClass("active");
   }
}
4

1 回答 1

1

我想你可能会混淆 PHP 和 jQuery。无论如何,您的代码可以简化很多。这似乎做你想做的事。如果不是,那么您需要澄清您的问题。

http://jsfiddle.net/yq8Hz/3/

不要使用内联 javascript。您正在使用 jQuery,因此请使用它来将您的代码与 html 分开。这是一个很好的做法。您可以使用数据属性来存储您要引用的img。

<div><a href="" data-label="macandcheese">See Label</a></div>
<div><a href="" data-label="lasagna">See Label</a></div>
<div><a href="" data-label="beefstroganoff">See Label</a></div>

然后使用 jQuery 的悬停来添加/删除活动类。我们利用 jQuery 的data方法来获取我们想要的标签。

$('a').hover( function() {
    $('img').removeClass('active');
    $('img#label_' +  $(this).data('label')).addClass('active');
});​
于 2012-11-03T05:22:07.393 回答