2012-03-02 69 views
0

http://jsfiddle.net/motocomdigital/dKDJz/6/如何抵消窗口顶部50%

我试图修复位置顶部50%的窗口高度脱离div。我可以用CSS做的很好。

但这种“div.slider按钮”的原始位置是绝对的进一步定位下跌的一页。但随着页面向下滚动,并且'div.slider-button'达到50%偏移顶部位置时,我应该添加我的.fixed类。

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

我需要的脚本来添加我.fixed上课的时候我“div.slider键”到达窗口高度的50%。

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; 
} 

看到这里的jsfiddle http://jsfiddle.net/motocomdigital/dKDJz/6/

当箭头到达顶部,你可以看到,它卡在中间,箭头只需要中游窗口的中间并坚持下去。

回答

0

退房这里的例子http://jsfiddle.net/dKDJz/7/

它工作正常,只要移动一旦窗口达到50%,但它打算关闭窗口的顶部,而不是当箭头到达中间。我添加了-($window.height()/2),以便它考虑窗口的大小并在箭头到达中心时关闭。希望有道理:)

+0

我爱你。非常有意义。谢谢 – Joshc 2012-03-02 13:46:21