我對jquery很陌生,只知道它的工作原理。 這基本上就是我所擁有的,它工作正常,但我想知道是否有一種方法來簡化它,因爲它看起來非常重複且笨重?我已經嘗試了許多不同的其他方式,但是我一直無法使其中的任何一項工作。jQuery - 我怎樣才能簡化這個?
$(".legend.a").on("mouseenter", function() {
$(".box").not(".a").css({"opacity": "0.4"});
});
$(".legend.b").on("mouseenter", function() {
$(".box").not(".b").css({"opacity": "0.4"});
});
$(".legend.c").on("mouseenter", function() {
$(".box").not(".c").css({"opacity": "0.4"});
});
$(".legend").on("mouseleave", function() {
$(".box").css({"opacity": "1.0"});
這是HTML:
<div id="legend">
<div class="legend a">a</div>
<div class="legend b">b</div>
<div class="legend c">c</div>
</div>
<div id="box">
<div class="box a">a</div>
<div class="box b">b</div>
<div class="box c">c</div>
</div>
但是,不僅我有一個類,b和c,還有另外6個或7的其他類也是如此。類別.box .a
,.box .b
等被多次使用,或者我只是使用ID,並且.a
,.b
等類正被用於給予對應的.box
和.legend
div相同的背景顏色。
我覺得必須有一個簡單的方法來做到這一點,而不是使用大量的重複。任何幫助,將不勝感激,謝謝。
謝謝!這正是我想要的。 – user3291397
這個答案但這很髒。如果設計師向元素添加類(使用它們作爲類應該用來更改渲染)會怎樣? –
@dystroy這是真的,這個解決方案是有限的。使用你建議的數據屬性可能更好,因爲它更靈活 – Anton