我有一段脚本,其中我设法使鼠标滚轮事件水平而不是垂直移动页面。但我也想为其增添一些动力。我创建了“after”函数,但 body 的 .scrollLeft
不会运行。
var rate = 150;
$(function () {
$("body").mousewheel(function (event, delta) {
function after() {
$("body").scrollLeft -= (delta * 1000);
console.log(delta);
event.preventDefault();
};
this.scrollLeft -= (delta * rate);
event.preventDefault();
setTimeout(function () {
after(delta, event)
}, 3000);
});
});
在我看来,3 秒后 body 应该以 (delta * 1000)
速度移动,但由于某种原因却没有。
最佳答案
我希望这会起作用(不确定)
var rate = 150;
$(function () {
$("body").mousewheel(function (event, delta) {
function after(event, delta) {
$("body").scrollLeft -= (delta * 1000);
console.log(delta);
event.preventDefault();
};
this.scrollLeft -= (delta * rate);
event.preventDefault();
setTimeout(function () {
after(event, delta)
}.bind(null,event, delta), 3000);
});
});
关于javascript - 为什么 .scrollLeft 在超时函数中不起作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42459512/