2

我有一个顶部固定的 div,然后是一个包含两个 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 回答