我知道我失去了一些東西明顯,我得到這個職位的一些誘人的提示:更改使用jQuery CSS懸停性能不工作
但我還是太新的jQuery看到的只是我做錯了什麼。如此快速的背景:
開始關閉和調整了這個樣本下拉菜單:http://www.w3csolutions.com/website-resources/Horizontal-Menu/jQuery-Menu/smoth-jQuery-menu/的好辦法的
部分是這樣的:
HTML File
<ul class="le_menu_bgcolor le_menu_topUl">
<li class=" le_menu_shape_left le_menu_fgcolor">
<p>Left</p>
<p class="le_menu_aHover">
<A href="#tabs1">Left Tab</A>
</p>
</li>
<li class="le_menu_shape le_menu_fgcolor">
<p>Center</p>
<p class="le_menu_aHover">
<A href="#tabs2">Center Tab</A>
</p>
</li>
<li class=" le_menu_shape_right le_menu_fgcolor">
<p>Right</p>
<p class="le_menu_aHover">
<A href="#tabs3">Right Tab</A>
</p>
</li>
</ul>
CSS File
.le_menu_fgcolor.ui-state-default {
background:#e40e7d;
}
.le_menu_fgcolor.ui-state-hover {
background:#ff0e7d;
}
這工作正常,我得到的粉紅色默認的顏色,而當我將鼠標懸停在任何一個下拉元素上,它們變成略微不同的粉紅色。
現在我想打一個函數來更改配色方案後 - 事實:
JS/JQuery的 功能setMenuDropdownTabColor(defaultColor,hoverColor){
$('.le_menu_fgcolor.ui-state-default').css('background', defaultColor);
$('.le_menu_fgcolor.ui-state-hover').css('background', hoverColor);
當我運行這個功能默認狀態會按照我所傳入的進行更改,但懸停變成與默認狀態相同。如果我將默認狀態註釋掉,懸停會被忽略,並且正常使用舊的粉紅色值。如果我將懸停狀態註釋掉,則新的默認狀態仍會覆蓋懸停屬性。檢查器視圖顯示覆蓋顏色正常,但懸停不顯示任何地方,覆蓋或沒有(當我懸停在選項卡上,以便它確實顯示ui-state-hover標記正在計算)
我提到的第一篇文章提出了幾件事
a)在CSS上設置一個!important。我試過在CSS中,但它沒有效果
b)覆蓋.hover它的自我。我試過了:
$('.le_menu_fgcolor').css('background','#FFFF00').hover;
和一些更多的排列,但他們完全覆蓋整個類的風格,而不僅僅是懸停。我猜的原因是,這只是一個.hover在CSS中,但我實際上跨越了一個jQuery庫字段?
這篇文章說的是有道理的,事情是越來越內聯,但我不明白爲什麼默認狀態覆蓋工作,如果是這樣的話,或爲什麼我不能看到懸停的顏色在任何地方檢查員
是的,我試着關閉瀏覽器然後再打開。
任何想法或建議?
你爲什麼不使用CSS? – Albzi
我在做最初的設置,但CSS並沒有爲這些值添加變量(至少不容易,其他文章一直暗示它是一個不允許的嘗試)。所以我在CSS中設置了默認主題,然後嘗試使用JS/JQuery在其他主題之間切換 –
好的,以及我已經回答了:) – Albzi