0

我有一个 id="header" 的 div 和另一个 div id="logo" ("position:absolute") ,其内部高于标题 div。

向下滚动页面时,我想将标题粘贴到窗口顶部(这没有问题)并将徽标滑动到顶部-125px以便只有一小部分徽标可见。

向下滚动时向上滑动不会导致错误,但是当我滚动回顶部时,我有很大的延迟将#logo回滑动到其原始位置。

这是我的代码:

jQuery:

var top = jQuery('#header').offset().top;
jQuery(window).scroll(function() {
     if(jQuery(this).scrollTop() > top) {
        jQuery('#header').addClass('header_fixed');
        jQuery('#content').addClass('content_fixed');           
    } else {
        jQuery('#header').removeClass('header_fixed');                  
        jQuery('#content').removeClass('content_fixed');
    }
    if(jQuery('#header').hasClass('header_fixed')) {
        jQuery('#logo').animate({top:'-125px'}, 500);
    } else {
        jQuery('#logo').animate({top:'0px'}, 500);
    }
});

谢谢你。

4

1 回答 1

2

要快速返回的滚动试试这个:

var scroll = 0;
var scrolled = false;

jQuery(window).bind('scroll', function(e) {
     if(jQuery(this).scrollTop() > scroll){
         if(scrolled == false){
            jQuery('#logo').animate({top:'-125px'}, 500);
            scroll = jQuery(this).scrollTop();
         }       
        scrolled = true;
    } else {
        if(scrolled == true){
            jQuery('#logo').animate({top: 0}, 500);
            scroll = 0;
        }       
        scrolled = false;            
    }
});

我不确定是否是您想要的,这是一个示例

于 2012-06-27T15:12:58.270 回答