2016-09-04 84 views
1

我正在嘗試做一件簡單的事情。我有一個大全寬頁眉的網頁。我需要它一直滾動到第一個鼠標滾輪上的內容。jQuery - 順利滾動內容

我有這樣的事情:

$(window).scroll(function() { 
     $('html, body').animate({ 
      scrollTop: ($('.site-content').first().offset().top) 
     },2000); 
    }); 

它的工作原理幾乎正常,但 - 起初它使向下滾動短(原滾動)和滾動動畫開始後。所以它看起來並不順利。

如何使這個過程順利進行,最好的方法是什麼?

回答

0

這未經測試;我不是在計算機現在

但嘗試改變

$(window).scroll(function(e) { 
    e.preventDefault() 
    $('html, body').animate({ 
     scrollTop: ($('.site-content').first().offset().top) 
    },500); 
}); 

但請記住,這將禁用用戶滾動和你的功能將有充分的控制研究

+0

好,它好像它真的可以工作,但事實並非如此。鼠標滾動仍處於啓用狀態。 – Balu

-1

只有在第一卷軸?

var scrolled = false; 
 
$(window).scroll(function(e) { 
 
    if (scrolled == false) { 
 
    $('html, body').animate({ 
 
     scrollTop: ($('.site-content').first().offset().top) 
 
    }, 2000); 
 
    scrolled = true; 
 
    } 
 
});
div { 
 
    background-color: #000; 
 
    width: 100px; 
 
    height: 100px; 
 
} 
 

 
.site-content { 
 
    background-color: #F00; 
 
}
<body> 
 
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 

 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div></div> 
 
<div class="site-content"></div> 
 
</body>