debugging 我想在HTML中创建一个消息窗口,但javascript不起作用

h7wcgrx3  于 2022-12-13  发布在  Java
关注(0)|答案(1)|浏览(111)

我做了一个消息窗口,当用户向下滑动网站时显示一条消息,当用户向上滑动时隐藏消息。我引用了this tutorial,但它没有按预期工作。

  • 这是我的代码:
<html>
  <body onscroll="scroll()">
    <div
      id="message"
      style="position:fixed;left:0%;top:30%;height:20%,width:5%;border-radius:10px;background-image:linear-gradient(90deg,rgba(100,255,200,0.5),rgba(100,255,255,0.5),rgba(100,255,200,0.5));box-shadow: 10px 10px 10px 5px rgba(100,100,100,50);"
    >
      <p>
        testmessage:
      </p>
    </div>

    <script language="javascript">
      function scroll() {
        //console.log("打印log日志");实时看下效果
        //console.log("开始滚动!");
      }

      var scrollFunc = function (e) {
        e = e || window.event;
        if (e.wheelDelta) {
          //第一步:先判断浏览器IE,谷歌滑轮事件
          if (e.wheelDelta > 0) {
            //当滑轮向上滚动时
            //console.log("滑轮向上滚动");
            document.getElementById("message").width = 0;
            document.getElementById("message").height = 0;
          }

          if (e.wheelDelta < 0) {
            //当滑轮向下滚动时
            //console.log("滑轮向下滚动");
            document.getElementById("message").width = 20%;
            document.getElementById("message").height = 5%;
          }
        } else if (e.detail) {
          //Firefox滑轮事件
          if (e.detail > 0) {
            //当滑轮向上滚动时
            //console.log("滑轮向上滚动");
            document.getElementById("message").width = 0;
            document.getElementById("message").height = 0;
          }
          if (e.detail < 0) {
            //当滑轮向下滚动时
            //console.log("滑轮向下滚动");
            document.getElementById("message").width = 20%;
            document.getElementById("message").height = 5%;
          }
        }
      };
      //给页面绑定滑轮滚动事件
      if (document.addEventListener) {
        //firefox
        document.addEventListener("DOMMouseScroll", scrollFunc, false);
      }
      //滚动滑轮触发scrollFunc方法 //ie 谷歌
      window.onmousewheel = document.onmousewheel = scrollFunc;
    </script>
  </body>
</html>

我想知道我的代码有什么问题,我该如何修复它。

  • 谢谢-谢谢
u1ehiz5o

u1ehiz5o1#

您需要调用scrollFunc()
增加一些高度,使其可滚动。

<body onscroll="scrollFunc()" style="height: 5000px;">

相关问题