Ý tưởng
Ý tưởng khá đơn giản, ta sử dụng snippet này, bắt event lăn chuột và TweenMax và ScrollToPlugin để tạo hiệu ứng.Code
Đầu tiên load các plugin jQuery, TweenMax và ScrollToPlugin, mình sử dụng các script từ các CDN sau:
<script src="http://code.jquery.com/jquery-1.9.1.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/TweenMax.min.js"></script>
<script src="http://cdnjs.cloudflare.com/ajax/libs/gsap/latest/plugins/ScrollToPlugin.min.js"></script>
Và code của chúng ta, bạn có thể chèn trực tiếp vào trong thẻ head, cuối footer hay lưu thành file .js và include bằng thẻ <script>
$(function(){
var $window = $(window);
var scrollTime = 1.2;
var scrollDistance = 170;
$window.on("mousewheel DOMMouseScroll", function(event){
event.preventDefault();
var delta = event.originalEvent.wheelDelta/120 || -event.originalEvent.detail/3;
var scrollTop = $window.scrollTop();
var finalScroll = scrollTop - parseInt(delta*scrollDistance);
TweenMax.to($window, scrollTime, {
scrollTo : { y: finalScroll, autoKill:true },
ease: Power1.easeOut,
overwrite: 5
});
});
});
Nếu bạn muốn cuộn nhanh hơn, tăng biến scrollTime lên với số thích hợp, còn muốn chậm lại thì giảm nó xuống.
Code: Download Files | View Demo
Chúc bạn thành công!
Tôi là Duyệt