2

上部の固定divと、内部に2つのdiv(左と右)を含むメインフレームがあります。スクロールのトップバーのすぐ下に右のdivを固定したいと思います。

私はここに持っているものを載せました:http: //jsfiddle.net/mhD9Y/2/

$(document).ready(function(){

var window_top = 41 - $(window).scrollTop();
  var div_top = $('#stop_scroll').offset().top;
  if (window_top > div_top)
    $('#right').addClass('stick');
  else
    $('#right').removeClass('stick');

});



 .stick {
        position: fixed !important;
        top: 41px !important;z-index: 5 !important;    -webkit-transition: all 1s ease;
    -moz-transition: all 1s ease;
    -o-transition: all 1s ease;
    transition: all 1s ease;
    }

重要なのは、スクリプトがまったく機能しないということです。

ありがとう

4

2 に答える 2

4

ウィンドウスクロールでコードを配置します。

$(document).ready(function(){
    $(window).scroll(function(){
      var window_top = $(window).scrollTop() - 41;
      var div_top = $('.right').offset().top;
      if (window_top > 41) {
        if (!$('.right').is('.stick')) {
            $('.right').addClass('stick');
         }
      }  else
           $('.right').removeClass('stick');
    });
});

id="right"をclass="right"に変更します

また

のCSSを変更します

.stickして、各属性の最後に!importantを追加します。

jsfiddleのデモ

于 2013-01-18T00:17:56.753 に答える
1

脚本:

    $(document).ready(function(){
      $(window).scroll(function(){
        var window_top = $(window).scrollTop() - 41;
        var div_top = $('#stop_scroll').offset().top;
        console.log(window_top, div_top);
        if (window_top > div_top) {
             $('#right').addClass('stick');
        } else {
             $('#right').removeClass('stick');
        }
      });
    });

CSS:

    .stick {
        position: fixed !important;
        top: 41px !important;
    }
于 2013-01-18T00:46:08.207 に答える