4

この問題の解決策について、助けと洞察をいただければ幸いです。最初に表示される高さが 180px のヘッダー div を持つ Web サイトを開発しています。ヘッダー div の高さは 340px です。ユーザーがリンクをクリックすると、ヘッダー div を下にスライドして残りの部分 (上部) を表示する必要があります。したがって、数学的に言えば、ユーザーがページをロードすると、340 ピクセルのヘッダー div の下部 180 ピクセルが表示されます。リンクをクリックすると、div の残りの部分が下にスライドして、上部の 160 ピクセルが表示されます。ユーザーが同じリンクをクリックすると、ヘッダー div がスライドして戻り、下部の 180 ピクセルのみが再び表示されます。

これを機能させようとしましたが、何が間違っているのかわかりません。私の最初の考えは、slideToggle() (非表示/表示) を使用することでしたが、それを機能させることができないようです。StackOverflow の他の人は animate() を提案していますが、それを機能させる方法もわかりません。

StackOverflow で検索したところ、div 全体の表示と非表示に関する多くの質問が見つかったようですが、問題は、div を完全に表示および非表示にすることです。div を下にスライドさせて上部の非表示部分を表示し、元の静止位置 (-160px オフスクリーン) に戻す必要があります。

どんな助けでも大歓迎です!以下にスターターコードを含めました。

HTML:

<div id="header">
    <a href="#header" class="toggle">Click me to reveal the top half of this div</a>
</div>

JQuery:

$(document).ready(function(){
    $('.toggle').click(function(){
        $('#header').slideToggle("slow");
        return false;
    });
});

CSS:

#header {
    position: fixed;  /*I would like this div to always be fixed to the top of the browser window*/
    top: 160px;
    left: 0;
    width: 100%;
    height: 340px;
    z-index: 10;
}
4

1 に答える 1

4

この JSFiddle を試してみてください。

http://jsfiddle.net/WFxLJ/3/

于 2012-04-20T23:58:02.850 に答える