jQueryで作成したスライド式のdivメニューがありますが、スライドさせるには、Div内のリンクをクリックする必要があります。div ITSELFをクリック可能にする方法を教えてもらえますか?
ここでメニューとコードを見ることができます:http://jsfiddle.net/WhfDc/
CSSを使用してアンカーがdiv全体をカバーするようにしようとしましたが、時々機能します。これが正しいかどうかについて何か考えはありますか?
jQueryで作成したスライド式のdivメニューがありますが、スライドさせるには、Div内のリンクをクリックする必要があります。div ITSELFをクリック可能にする方法を教えてもらえますか?
ここでメニューとコードを見ることができます:http://jsfiddle.net/WhfDc/
CSSを使用してアンカーがdiv全体をカバーするようにしようとしましたが、時々機能します。これが正しいかどうかについて何か考えはありますか?
はい、div内にあるアンカー要素の代わりにdivにクリックイベントハンドラーをアタッチすることで可能です。
また、インラインイベントハンドラーの代わりにjQueryを使用してイベントハンドラーをアタッチすることをお勧めします。
そのすべての Javascript は必要ありません。メニュー クリック イベントをバインドするだけで (.evtog クラスを持つすべての div に対して)、ハンドラーは表示されているサブメニューを非表示にし、サブメニューを表示します。
これを試して:
$(function() {
$("div.evtog").click(function() {
$("div[name=events]:visible").slideUp(600);
$(this).next().slideDown(200);
})
});
関数をラップする $() に注意してください。要素をバインドするには、要素が DOM 上にある必要があるため、これが必要です。これにより、DOM の準備が整ったときに関数が実行されることが保証されます。
作業例: JsFiddle
より詳しい情報: