2011-12-05 98 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

相关问题