Javascript 如何偏移窗口顶部50%

Javascript 如何偏移窗口顶部50%,javascript,jquery,Javascript,Jquery,我正试图将一个div的位置调整到窗户高度的50%以上。我可以用CSS做得很好 但是这个“div.slider-button”的原始位置是绝对位置,在页面的下方。但是当页面向下滚动时,当“div.slider-button”达到50%偏移量的顶部位置时,应该添加my.fixed类 当前我的脚本在下面,当我的div到达窗口顶部位置时添加.fixed类 当我的“div.slider-button”达到窗口高度的50%时,我需要脚本来添加我的.fixed类 var $window = $(wind

我正试图将一个div的位置调整到窗户高度的50%以上。我可以用CSS做得很好

但是这个“div.slider-button”的原始位置是绝对位置,在页面的下方。但是当页面向下滚动时,当“div.slider-button”达到50%偏移量的顶部位置时,应该添加my
.fixed

当前我的脚本在下面,当我的div到达窗口顶部位置时添加
.fixed

当我的“div.slider-button”达到窗口高度的50%时,我需要脚本来添加我的
.fixed

var $window    = $(window),
    $button    = $(".slider-button"),           
    offsetbut  = $button.offset();

$window.scroll(function() {
    if ($window.scrollTop() > offsetbut.top ) {
        $button.addClass('fixed');
    } else {
        $button.removeClass('fixed');
    }
});

.fixed { 
    position: fixed !important;
    top: 50% !important;
}
看到这里了吗


你可以看到,当箭头到达顶部时,它会捕捉到中间,箭头只需到达窗口的中间并粘住即可。

查看此处的示例


当窗口达到50%时,它可以正常工作,但当箭头到达中间时,它会离开窗口顶部,而不会移动。我已经添加了
-($window.height()/2)
,这样它就考虑到了窗口的大小,并且当箭头到达中心时会熄灭。希望有意义:)

我爱你。这很有道理。谢谢