卡不加奇诺君 2019-04-26 23:02 采纳率: 0%
浏览 395

用鼠标滚轮事件报错?

我照着网上的教程写了一段代码,想做出鼠标滚轮向下或者向上滑动页面就自动滑动到相应位置,但是一直报错
运行时报错

var availablePageHeight = window.innerHeight;//获取浏览器可用页面高度
//通过id获取四部分


var page1 = document.getElementById("page1");
var page2 = document.getElementById("page2");
var page3 = document.getElementById("page3");
var page4 = document.getElementById("page4");
//将四个页面放入一个数组(方便批量修改)
var pages = [page1, page2, page3, page4];

for (i = 0; i < pages.length; i++) {
    pages[i].style.height = availablePageHeight + "px";
}

var delta;
function judge(event) {
    event = event || window.event;
    if (event.wheelDelta) {  //判断浏览器IE,谷歌滑轮事件             
        if (event.wheelDelta > 0) { //当滑轮向上滚动时
            delta = 0;
        }
        if (event.wheelDelta < 0) { //当滑轮向下滚动时
            delta = 1;
        }
    }
    else if (event.detail) {  //Firefox滑轮事件
        if (event.detail < 0) { //当滑轮向上滚动时
            delta = 0;
        }
        if (event.detail > 0) { //当滑轮向下滚动时
            delta = 1;
        }
    }
}

function downWheel() {
    window.scrollTo({
        top: availablePageHeight,
        behavior: "smooth"
    })
}
function topWheel() {
    window.scrollTo({
        top: 0,
        behavior: "smooth"
    })
}

function autoWheel() {  //自动滚动页面
    judge(event);
    if (delta = 1) downWheel();
    else if (delta = 0) topWheel();
}

if (document.addEventListener) {    //判断是否为火狐
    document.addEventListener("DOMMouseScroll", autoWheel(event));
}
window.onmousewheel = document.onmousewheel = autoWheel(event);

顺便问一下event = event || window.event;是什么意思

  • 写回答

1条回答 默认 最新

  • ChoneyLove 2019-04-27 16:40
    关注

    短个参数event,加上这个参数试试来

    function autoWheel(event) {  //自动滚动页面
        judge(event);
        if (delta = 1) downWheel();
        else if (delta = 0) topWheel();
    }
    
    评论

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器