3

このjQueryのスニペットを使用して、スティッキーフッターを取得しています。

if($(document.body).height() < $(window).height()){
        $("#footer").css({
            position: "absolute",
            top:  ( $(window).scrollTop() + $(window).height()
                  - $("#footer").height() ) + "px",
            width: "100%"
       });
}
$(window).scroll(positionFooter).resize(positionFooter);

ただし、元のコンテンツがウィンドウよりも高さが低い場所に展開可能/折りたたみ可能な div があると、ドキュメントの下部ではなくウィンドウの下部に貼り付けられるため、それが中断されます。

これを修正する方法、またはそれを行うためのより良い方法はありますか?

Django の管理インターフェイスでこれを行う必要があるため、HTML をあまり制御できないことに注意してください。このようなことを達成したい場所に HTML をあまり挿入することはできません (つまり、この回答この回答は私にはうまくいきません)。

4

3 に答える 3

11

ドキュメントの高さがウィンドウの高さよりも高い場合、フッターを絶対に配置したくないですか? else次に、まさにそれを行うステートメントを追加します。

if($(document.body).height() < $(window).height()){
    $('#footer').css({
        position: 'absolute',
        top:  ( $(window).scrollTop() + $(window).height()
              - $("#footer").height() ) + "px",
        width: "100%"
    });
} else {
    $('#footer').css({
        position: 'static'
    });
}   

これがライブデモです。divを展開/折りたたむときにFFでトリガーされないため、clickイベントを追加したことに注意してください。$(window)resize

于 2010-07-09T13:03:26.143 に答える
3

私はスティッキーフッターと動的コンテンツにこのアプローチを使用しました (ただし、私のアプリケーションは例よりも統合が少し複雑でした)、うまくいきます: http://www.cssstickyfooter.com/

于 2010-07-14T10:30:52.770 に答える