2011-12-05 8 views
2

ここに私の問題のjsfiddleがあります:http://jsfiddle.net/sbBxu/ - "ホバー・ミー"要素をホバーすると、.resultがリストによって隠されてしまいます。ユーザーが "click me"要素のいずれかをクリックすると、結果は変わりますが、ユーザーはそれを見ません。一時的に削除するには:要素からマウスを移動しますか?

ユーザーに結果が表示されるようにしたいのですが、それは.hiddenによって隠されています。しかし、単にそれを「隠す」と、JQueryは「表示」プロパティを「なし」に設定します。これにより、show-on-hoverの動作が中断されます。

基本的には、クリック時のポップアップ表示を除いて、フィドルと同じものが欲しいです。

答えて

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もちろん、 "Click me"はどうですか?これは、jsのないユーザーでも機能しません。 – Yoshi

+0

あなたはそうです、JS(またはフラッシュや他のプラグイン)なしで基礎となるコンテンツを変更できる方法はないと思います。 – Fluffy

2

.hoverd:hover .hiddenクラスからposition: absoluteを削除してみます。

Example fiddle

+0

私は位置が必要です - ポップアップがでなければなりませんつまり、 '.result'の全ての上に表示されます。 – Fluffy

+0

これは、要素が表示されなければならない値を含み、別の要素で覆われている場合、あなたが持っている妙なUIです。 –

+0

まあ、私は想像すると、CSSのポップアップはかなり一般的です。ホバリングしたときに拡大するナビゲーションを見たことがありませんか? – Fluffy

関連する問題