0

Web サイトの永続ヘッダーを作成しようとしています。動作しない次のコードを書きました。デバッグを行っているときに、div の正しい位置を読み取ることさえできないことがわかりました。これが問題です。コードは次のとおりです。

<script>
function UpdateTableHeaders() {

      /*var el             = $("#top_menu", this);
      var offset         = el.offset();
      var scrollTop      = $(window).scrollTop();
      var floatingHeader = $(".floatingHeader", this);


       if (scrollTop > offset.top) {
           floatingHeader.css(
            "visibility", "visible"
           );
       } else {
           floatingHeader.css(
            "visibility", "hidden"
           );      
       }; */
       //following lines is the code I have tried in turns to see if it can actually read the correct position or not
       $("#content").append( "position top:" + $('#top_menu').position().top);
       $("#content").append( "position top:" + $('#top_menu').offset().top);
}

// DOM Ready      
$(function() {

   var clonedHeaderRow;


       clonedHeaderRow = $("#top_menu", this);
       clonedHeaderRow
         .before(clonedHeaderRow.clone())
         .addClass("floatingHeader");



   $(window)
    .scroll(UpdateTableHeaders)
    .trigger("scroll");

});

ただし、出力された答えは正しくないようです。ページをスクロールしたときの出力は次のとおりです。

position top:101.45001220703125position top:101.41668701171875position top:101.41668701171875position top:101.04998779296875position top:101.16668701171875position top:101.39999389648438position top:100.63333129882812position top:100.98333740234375position top:101.33331298828125position top:100.79998779296875position top:101.21665954589844position top:101.10000610351562position top :100.63333129882812position top:101.05000305175781position top:100.93333435058594position top:101.23333740234375position top:101.41667175292969position top:100.60000610351562position top:100.71665954589844position top:101.18333435058594position top:100.53334045410156position top:101.23333740234375position top:101.35000610351562position top:100.69999694824219position top:101.05000305175781上段:100.51666259765625上段:100.63333129882812上段:100.86666870117188位置トップ:101.33332824707031位置トップ:100.91667175292969

100前後で変動します。どこで間違ったのか誰か教えてもらえますか?

助けてくれてありがとう!

4

1 に答える 1

3

このようにしないでください。position : fixed代わりにヘッダーにcssを使用してください。

于 2012-07-10T19:24:47.317 に答える