1

助けが必要です。特定のボタンを押すと切り替わるサイドバーを探しています。サイドバーが表示され、コンテンツdivの幅が狭くなり、サイドバー用のスペースが確保されます。サイドバーボタンをクリックして再び非表示にすると、コンテンツdivが広がります。サイドバーがまったく機能しないようです。

http://jsfiddle.net/jhacks/P3Ckk/54/

フィドルボックスにうまく収まるように少し変更する必要がありましたが、残念ながら事態はさらに悪化したようです。たとえば、「content」divをさらに広くすると、何らかの理由でそれが下に押し下げられますか?しかし、私は逸脱します...私が解決しようとしている主な問題:

  1. 「sidetoggleshow」ボタンをクリックしてもサイドバーが表示されません。私は明らかに私のjqueryコードで明らかに間違ったことをしていますか?

  2. サイドバーが非表示になっているときに、コンテンツdivを展開して、コンテナーdivの残りのスペースを埋めるのが正しい解決策かどうかはわかりません。ただし、サイドバーが表示されたら、コンテンツをプッシュしてほしい。HTML内でのサイドバーの配置が部分的に問題になる可能性があります。現在、トグルボタンの兄弟にしたので、トップバーdiv内にあります。しかし、おそらくそれはコンテナdivの一部である必要がありますか?コンテンツが配置されているのと同じdiv内のスペースを占めるようにするには?jquery内で何を参照しますか?一意のIDなので、「兄弟」や「子供」のタグはまったく必要ないと思いますか?繰り返しますが、私はこれを試しましたが、機能しませんでした...それでも、兄弟メソッドでも機能しません

ありとあらゆる助けに大いに感謝します。ありがとう!

4

4 に答える 4

2

2つの状態が必要であることはご存知のようですが、クリックハンドラーを2回登録するのではなく、.click()メソッド自体でそれらを区別する必要があります。

スニペットを少しいじって、JSとCSSのコードを編集し、コメントを追加したので、かなり自明のはずです。また、サイドバーをデフォルトで非表示にする必要があると思います。

http://jsfiddle.net/P3Ckk/78/

それが役に立てば幸い!

于 2012-05-16T15:19:11.137 に答える
1

jQueryクリック関数の最後にコンマがあります-2番目の引数を指定していません...

$('div#sideToggleShow').click(

   function() {         
    $('div#sideToggleShow').hide();
    $('div#sideToggleHide').show();
    $(this).siblings('div#side').show();
}, ); <-- what's this!?

する必要があります

$('div#sideToggleShow').click(

   function() {         
    $('div#sideToggleShow').hide();
    $('div#sideToggleHide').show();
    $(this).siblings('div#side').show();
});

ここからもらえると思います!

于 2012-05-16T14:54:15.950 に答える
1

コードを編集しました。あなたがそれを好きなら、それをつかんでください、そうでなければ、あなたが欲しいものを教えてください。jsFIDDLE

于 2012-05-16T15:00:14.913 に答える
1

いくつかのcss編集を行いました。JSFiddle

于 2012-05-16T15:21:05.520 に答える