2014-05-02 57 views

回答

2

如果我正確地理解您的要求(您的框將有它的底部或高於可視屏幕的底部,它等於或低於可見屏幕的80%最高),那麼這是怎麼了你會去做這件事。

可見屏幕的計算方法是:取document.viewport.getScrollOffsets()['top'],然後減去document.viewport.getHeight()的80%以獲得其他邊界。窗口#滾動事件中你的元素被調查,並檢查其位置viewportOffset()(它返回左上角的位置),和元素的高度將用於休息。

Event.observe(window, 'scroll', check_offsets); 
Event.observe(window, 'load', check_offsets); 
function check_offsets(){ 
    var e = $('spy'); 
    var top = e.viewportOffset()['top']; 
    var bottom = top + e.getHeight(); 
    var scroll = document.viewport.getScrollOffsets()['top']; 
    var scroll_80 = scroll - parseInt(document.viewport.getHeight() * .8, 10); 
    if(bottom <= scroll) console.log('visible'); 
    if(top <= scroll_80) console.log('too high') 
} 
相關問題