在我的頁面中,我的腳本中有幾個布爾值,用於檢查第一個屏幕是否已激活,以及第二個屏幕是否同樣。屏幕1填滿整個屏幕。jQuery滾動到滾動事件上的某個點
它看起來是這樣的:
var headerLoaded = true,
contentLoaded = false;
當我滾動,我希望頁面全自動滾動到我的網頁上的「內容」區域。我有這樣的代碼:
$(window).scroll(function() {
if (($(window).scrollTop() > 0) && (!contentLoaded && headerLoaded)) {
$('html, body').animate({
scrollTop: $('#content').offset().top
}, 500, function() {
contentLoaded = true;
headerLoaded = false;
});
}
});
它檢查是否我不在頁面的頂部,和2個布爾值。
功能的偉大工程,但它仍然調用
$('html, body').animate({
scrollTop: $('#content').offset().top
}, 500, function() {
contentLoaded = true;
headerLoaded = false;
});
一部分,當我向下滾動到「內容」股利。
因此,每當我在'內容'div即時滾動,滾動回到頂部。
順便說一句,這兩個div是絕對的。
食物的思考:劫持滾動事件動畫頁面滾動是壞的UX(根據一些聰明的人)。 http://trentwalton.com/2013/10/23/scroll-hijacking/ https://news.layervault.com/stories/9138-on-scroll-hijacking – user1967