[英](Javascript) Smooth scrolling mousewheel
在我的網站上(仍在建設中-忘記域名-和廣告。這是臨時的) -http://davidsthilaire.comule.com我已經使用它來實現平滑的鼠標滾輪滾動。
<script>
jQuery.extend(jQuery.easing, {
easeOutQuint: function(x, t, b, c, d) {
return c * ((t = t / d - 1) * t * t * t * t + 1) + b;
}
});
var wheel = false,
$docH = $(document).height() - $(window).height(),
$scrollTop = $(window).scrollTop();
$(window).bind('scroll', function() {
if (wheel === false) {
$scrollTop = $(this).scrollTop();
}
});
$(document).bind('DOMMouseScroll mousewheel', function(e, delta) {
delta = delta || -e.originalEvent.detail / 3 || e.originalEvent.wheelDelta / 60;
wheel = true;
$scrollTop = Math.min($docH, Math.max(0, parseInt($scrollTop - delta * 50)));
$($.browser.webkit ? 'body' : 'html').stop().animate({
scrollTop: $scrollTop + 'px'
}, 3000, 'easeOutQuint', function() {
wheel = false;
});
return false;
});
</script>
但是,自從我添加了這段代碼和jquery-1.8.3.js插件以來,當我將瀏覽器最小化時,我無法一直向下滾動到頁面底部。雖然移動設備..我不知道為什么它不能直接向下滾動到台式機頁面的底部。.有誰知道解決方法嗎? 我會很感激。
您的代碼在滾動時會觸發很多動作...一遍又一遍地使用stop函數只是為了在1毫秒后開始另一個動畫....每當動畫仍在播放時就升旗
if (animate) return;
$($.browser.webkit ? 'body' : 'html').stop().animate({
scrollTop: $scrollTop + 'px'
}, 3000, 'easeOutQuint', function()
{
animate = false;
wheel = false;
});
animate = true;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.