计算何时将div固定到屏幕顶部

时间:2013-12-20 02:03:54

标签: jquery css-position fixed scrolltop

我一直在为朋友网站开发固定div功能。我已经弄清楚它的大部分内容并且它看起来很棒,但只能在我的电脑上。我需要此功能来处理所有屏幕尺寸和平板电脑。看起来我的计算应该适用于每个屏幕大小,因为它基于文档大小,但它在我的另一台计算机上过早锁定。有没有人看到我的计算有什么问题?

var scrollTop     = $(document).scrollTop(),
    elementOffset = $('.tabs').offset().top,
    distance      = (elementOffset - scrollTop);

$('#tabPlaceholder').hide();
$('#tabPlaceholder').css({'height': $('.tabs').height(), 'width': '100%'});


tabsTop = $('.tabs').height() * .42; //whatever the height of .tabs, fix element when scrolled 42% of the way down

startFixed = tabsTop + distance; //42% of the .tabs element + the distance from the top of .tabs to the top of the document

jQuery(function($) {
  function lockelem() {
    if ($(window).scrollTop() > startFixed ) {
          $('.tabs').css({'z-index': '10000', 'position': 'fixed', 'top': '-'+tabsTop+'px', 'width': '100%'});
         $("#tabPlaceholder").show();
    }
    if ($(window).scrollTop() < startFixed ) {
          $('.tabs').css({'position': 'relative', 'top': 'auto'});
          $('#tabPlaceholder').hide();
    }   
}
lockelem();
$(window).scroll(lockelem);
});

0 个答案:

没有答案