2011-11-09 158 views
0

需要幫助與懸停類。jquery顏色選擇器懸停元素

正如你所看到的代碼那麼我必須懸停的元素,但不幸的是,他們不會改變顏色。有什麼想法如何使一切工作?

我都跟着代碼:

$('#color_mix_menu_top').ColorPicker({ 
    color: '#0000ff', 
    onShow: function (colpkr) { 
     $(colpkr).fadeIn(500); 
     return false; 
    }, 
    onHide: function (colpkr) { 
     $(colpkr).fadeOut(500); 
     return false; 
    }, 
    onChange: function (hsb, hex, rgb) { 
     $('#menu > ul > li:hover > a, #menu > ul > li > a:hover, #menu > ul > li > div').css('backgroundColor', '#' + hex); 
     $('#color_mix_menu_top').css('backgroundColor', '#' + hex); 
} 
}); 
+0

無看到其餘的代碼,即定義了'hsb','hex'和'rgb'以及隨附的html,這很難解決這個問題。 –

回答

0

有你登錄或調試,以驗證您的jQuery選擇在工作?例如

console.log("" + $('#menu > ul > li:hover > a, #menu > ul > li > a:hover, #menu > ul > li > div').length) 

只是爲了確保你不會錯過那裏的東西。

+0

正常選擇器一切正常,但使用「#menu> ul> li:hover 「不起作用。 – uPixel

+0

您是否嘗試過從調試器中設置css值以確定是否出錯?例如在螢火蟲,或在鉻控制檯: –

+0

我只是學習,很多事情我不知道。 – uPixel

0

正常的話一個簡單的解決方案:

$('#menu > ul > li > a, #menu > ul > li > div').data('bg', '#' + hex); 

然後

$('#menu > ul > li > a').hover(function(){ 
    $(this).css('background', $(this).data('bg')); 
}, function(){ 
    void(0); 
}) 

,如果你想在鼠標移開復原顏色:

var currBG; 
$('#menu > ul > li > a').hover(function(){ 
    currBG = $(this).css('background'); 
    $(this).css('background', $(this).data('bg')); 
}, function(){ 
    $(this).css('background', currBG); 
}) 

您可以調整它根據位您的需求

+0

但我需要懸停的元素! – uPixel

+0

我編輯了我的答案,現在就去吧! – sally

+0

謝謝,我會稍後再試。謝謝 – uPixel