我會查看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;
}
您好,感謝這麼多扭角羚g要回答的時間。這個解決方案的問題在於,它在滾動時會彈起來,而且在兩個部分之間時會彈起,不管是頂部還是底部,取決於哪一個最接近,就像在這個屏幕中看到的一樣:http:// d .pr/i/uA3F - 嘗試向下滾動到快照部分,然後向上滾動。它應該再次搶購。謝謝! – user3067058
我做了這樣的第一件事,http://jsfiddle.net/T89LF/1/show/,但如果你正在閱讀的內容,這將在該部分的任何一點,這將是惱人的。所以我需要再看一遍。 – hyperdrive
嗨!非常感謝!這正是我期待的! :) 謝謝!! – user3067058