2014-02-18 47 views
1

因此,此腳本執行我之後的操作,只是它無法工作寬度固定的高度。它只能與工作「的高度:100%;」:jQuery如何在達到它的末端時對齊容器

http://benoit.pointet.info/stuff/jquery-scrollsnap-plugin/

那麼,什麼我真的是深遠的div結束的時候,這樣的div可以是任意高度卡插件後。

我的頁面的div大約爲2000px,因此當用戶觸及div的底部時,它會捕捉到下一部分(如果用戶沒有足夠向下滾動,則捕捉到當前部分),如插件所示。

感謝您的回答!

回答

0

我會查看waypoints插件。

我改變了我的演示,噹噹前部分到達底部時捕捉。

如果由於截面高度較大而導致用戶滾動不夠,並且無法看到該部分的內容,則不應該捕捉到當前部分的頂部。

演示

http://jsfiddle.net/T89LF/4/show

http://jsfiddle.net/T89LF/4/

HTML

<section></section> 
<section></section> 
<section></section> 
<section></section> 
<section></section> 

jQuery的

$('section').waypoint(function(direction) { 
    if(direction == 'down'){ 
     disable_scroll(); 
     //Animate to top of the section 
     $('html, body').stop().animate({ 
      scrollTop: $(this).offset().top 
     },300,"easeInOutQuart", function() { 
      enable_scroll(); 
     }); 
    } 
}, { offset: '100%' }); 

function preventDefault(e) { 
    e = e || window.event; 
    if (e.preventDefault) 
     e.preventDefault(); 
    e.returnValue = false; 
} 

function wheel(e) { 
    preventDefault(e); 
} 

function disable_scroll() { 
    if (window.addEventListener) { 
     window.addEventListener('DOMMouseScroll', wheel, false); 
    } 
    window.onmousewheel = document.onmousewheel = wheel; 
} 

function enable_scroll() { 
    if (window.removeEventListener) { 
     window.removeEventListener('DOMMouseScroll', wheel, false); 
    } 
    window.onmousewheel = document.onmousewheel = null; 
} 
+0

您好,感謝這麼多扭角羚g要回答的時間。這個解決方案的問題在於,它在滾動時會彈起來,而且在兩個部分之間時會彈起,不管是頂部還是底部,取決於哪一個最接近,就像在這個屏幕中看到的一樣:http:// d .pr/i/uA3F - 嘗試向下滾動到快照部分,然後向上滾動。它應該再次搶購。謝謝! – user3067058

+0

我做了這樣的第一件事,http://jsfiddle.net/T89LF/1/show/,但如果你正在閱讀的內容,這將在該部分的任何一點,這將是惱人的。所以我需要再看一遍。 – hyperdrive

+0

嗨!非常感謝!這正是我期待的! :) 謝謝!! – user3067058