2011-12-05 25 views
2

這裏是我的問題jsfiddle:http://jsfiddle.net/sbBxu/ - 當你懸停「懸停我」元素,.result被列表隱藏。當用戶點擊任何「點擊我」元素時,結果會改變,但用戶看不到它。我該如何暫時移除:將鼠標懸停在元素上?

我想讓用戶看到結果,它被.hidden隱藏。但如果我只是「隱藏」它,JQuery將「display」屬性設置爲「none」,這會打破懸停展示行爲。

基本上,我想要的東西與小提琴中的相同,除了點擊彈出隱藏。

回答

1

我剛剛從CSS中刪除:hover,並且使用jQuery的顯示/隱藏列表:

http://jsfiddle.net/sbBxu/4/

$('.hoverd').mouseenter(function() { 
    $('.hidden', this).show(); 
}); 

$('.hidden li').click(function() { 
    $('.result').text('I am a result'); 
    $(this).closest('.hidden').hide(); 
}); 
+0

顯然,這不會爲JS禁用的用戶工作 – Fluffy

+0

@Fluffy當然,那麼「點擊我」呢?這對於沒有js的用戶也不適用。 – Yoshi

+0

你說得對,我猜如果沒有JS(或Flash或其他插件),底層內容無法更改, – Fluffy

2

嘗試從您的.hoverd:hover .hidden類中刪除position: absolute

Example fiddle

+0

我需要的位置 - 在彈出的必須高於一切,即'.result' – Fluffy

+0

那麼這是一個奇怪的UI,如果一個元素包含一個必須可見的值,但被另一個元素所覆蓋? –

+0

嗯,我會想象,css彈出窗口很常見。你有沒有看到導航,它擴大,當你徘徊它? – Fluffy

相關問題