鼠标滚轮滚动功能在精确页面上很慢
Mouse wheel scroll function is slow on exact page
我不确定堆栈是否溢出但是鼠标滚轮在我在 Google chrome 中设计的网站主页上滚动缓慢。是否有一些 html 或 css 属性 控制滚动速度或者这是一个性能问题?
站点地址是 ragaimen.com,第一页出现问题(其他页面正常)。
我们在更新到最新的 Chrome(94.0.4606.61,但其他人报告说这是从版本 91 开始发生的)后遇到了同样的问题,如果您的页面上有选取框,很可能让您的鼠标滚轮缓慢滚动,我们认为这是 Chrome 的错误。
对于chrome使用,您可以尝试打开chrome://flags/#smooth-scrolling并关闭「平滑滚动」功能。
对于javascript的解决方案,可以试试下面的代码,但实际上滚动不是很流畅,希望有人能改进一下:
function wheel(event) {
var delta = 0;
if (event.wheelDelta) {(delta = event.wheelDelta / 120);}
else if (event.detail) {(delta = -event.detail / 3);}
handle(delta);
event.returnValue = false;
}
function handle(delta) {
var time = 100;
var distance = 140; //adjust this for your page
$('html, body').stop().animate({
scrollTop: $(window).scrollTop() - (distance * delta)
}, time );
}
if (window.addEventListener) {window.addEventListener('DOMMouseScroll', wheel, {passive: false});}
if (document.addEventListener) {document.addEventListener('DOMMouseScroll', wheel, {passive: false});}
if (window.addEventListener) {window.addEventListener('mousewheel', wheel, {passive: false});}
if (document.addEventListener) {document.addEventListener('mousewheel', wheel, {passive: false});}
2021-10-01 更新:
Chrome 版本 94.0.4606.71 已修复此问题。
我不确定堆栈是否溢出但是鼠标滚轮在我在 Google chrome 中设计的网站主页上滚动缓慢。是否有一些 html 或 css 属性 控制滚动速度或者这是一个性能问题?
站点地址是 ragaimen.com,第一页出现问题(其他页面正常)。
我们在更新到最新的 Chrome(94.0.4606.61,但其他人报告说这是从版本 91 开始发生的)后遇到了同样的问题,如果您的页面上有选取框,很可能让您的鼠标滚轮缓慢滚动,我们认为这是 Chrome 的错误。
对于chrome使用,您可以尝试打开chrome://flags/#smooth-scrolling并关闭「平滑滚动」功能。
对于javascript的解决方案,可以试试下面的代码,但实际上滚动不是很流畅,希望有人能改进一下:
function wheel(event) {
var delta = 0;
if (event.wheelDelta) {(delta = event.wheelDelta / 120);}
else if (event.detail) {(delta = -event.detail / 3);}
handle(delta);
event.returnValue = false;
}
function handle(delta) {
var time = 100;
var distance = 140; //adjust this for your page
$('html, body').stop().animate({
scrollTop: $(window).scrollTop() - (distance * delta)
}, time );
}
if (window.addEventListener) {window.addEventListener('DOMMouseScroll', wheel, {passive: false});}
if (document.addEventListener) {document.addEventListener('DOMMouseScroll', wheel, {passive: false});}
if (window.addEventListener) {window.addEventListener('mousewheel', wheel, {passive: false});}
if (document.addEventListener) {document.addEventListener('mousewheel', wheel, {passive: false});}
2021-10-01 更新: Chrome 版本 94.0.4606.71 已修复此问题。