0

jQueryで作成したスライド式のdivメニューがありますが、スライドさせるには、Div内のリンクをクリックする必要があります。div ITSELFをクリック可能にする方法を教えてもらえますか?

ここでメニューとコードを見ることができます:http://jsfiddle.net/WhfDc/

CSSを使用してアンカーがdiv全体をカバーするようにしようとしましたが、時々機能します。これが正しいかどうかについて何か考えはありますか?

4

2 に答える 2

0

はい、div内にあるアンカー要素の代わりにdivにクリックイベントハンドラーをアタッチすることで可能です。

また、インラインイベントハンドラーの代わりにjQueryを使用してイベントハンドラーをアタッチすることをお勧めします。

作業デモ-http://jsfiddle.net/WhfDc/1/

于 2012-03-28T19:37:11.413 に答える
0

そのすべての Javascript は必要ありません。メニュー クリック イベントをバインドするだけで (.evtog クラスを持つすべての div に対して)、ハンドラーは表示されているサブメニューを非表示にし、サブメニューを表示します。

これを試して:

$(function() {
  $("div.evtog").click(function() {
    $("div[name=events]:visible").slideUp(600);
    $(this).next().slideDown(200);
  })
});​

関数をラップする $() に注意してください。要素をバインドするには、要素が DOM 上にある必要があるため、これが必要です。これにより、DOM の準備が整ったときに関数が実行されることが保証されます。

作業例: JsFiddle

より詳しい情報:

.click
:visible
.next
.ready

于 2012-03-28T19:40:56.063 に答える