【发布时间】:2011-11-26 20:24:09
【问题描述】:
我想知道是否有人知道如何重写这个简单的 jquery 代码以提高效率。它现在当然工作正常,但我想再添加 10 个项目会使代码变得非常大。我想也许我可以将类添加到数组中并使用某种循环?不过不确定这是否是正确的方法。
这是在 jsfiddle 上: http://jsfiddle.net/QVS9X/42/
这是一个示例: JS:
$(".image1").mouseout(function() {
$(".default").show();
$(".cat1").hide();
}).mouseover(function() {
$(".default").hide();
$(".cat1").show();
});
$(".image2").mouseout(function() {
$(".default").show();
$(".cat2").hide();
}).mouseover(function() {
$(".default").hide();
$(".cat2").show();
});
HTML:
<div class="image1 image">
<p>Hover for cat 1</p>
</div>
<div class="image2 image">
<p>Hover for cat 2</p>
</div>
<div class="image3 image">
<p>Hover for cat 3</p>
</div>
<div class="default">
<p>Default Text</p>
</div>
<div id="cats">
<p class="cat1">Category 1 text</p>
<p class="cat2">Category 2 text</p>
<p class="cat3">Category 3 text</p>
</div>
【问题讨论】:
-
你的 HTML 结构是什么样的?
-
您好,为了您的方便,我已将其全部粘贴到 jsfiddle。这是上面的链接:)
-
你的类名看起来真的很像 id。您应该尝试以某种方式在元素之间创建绑定。 +1 理查德 D 的回答。
-
我包含了您的 HTML,以便将来您的问题仍然有用。
-
如前所述,优化代码最明智的方法是用 ID 替换那些一次性 CSS 类(image1、cat1、image2、default 等)。
标签: javascript jquery