javascript - window.scroll() 函数未触发

标签 javascript html events window dom-events

我有一个功能,当单击菜单项时,它应该导致窗口滚动 400px;

当我单击菜单项时,该函数的内部部分正在触发,因为我收到了 console.log 消息,但窗口没有滚动。我似乎无法弄清楚问题出在哪里。

任何帮助都会很棒。

代码笔:https://codepen.io/emilychews/pen/LQVQrq

JS

var aboutLink = document.querySelector(".menu-item-1 a")

var menuClicked = false;

function aboutClicked () {

    if (menuClicked === false) {

        window.scroll(0, 400);
        menuClicked = true;
        console.log("clicked")

    }
}   

aboutLink.addEventListener("click", aboutClicked);

HTML

<div class="menu-item-1">
  <a href="#">About</a>
</div>

最佳答案

请在监听器调用中阻止默认事件。下面是代码。

<script type="text/javascript">
            $(document).ready(function () {
                var aboutLink = document.querySelector(".menu-item-1 a");
                aboutLink.addEventListener("click", aboutClicked);

                var menuClicked = false;

                function aboutClicked(event) {
                    event.preventDefault();

                    if (menuClicked === false) {

                        window.scroll(0, 500);
                        menuClicked = true;
                        console.log("clicked");

                    }
                }
            });
        </script>

关于javascript - window.scroll() 函数未触发,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48548415/

相关文章:

javascript - Greasemonkey - 替换 javascript src 以加载自定义 JS 而不是页面之一

javascript 函数不在 html 中执行

Java - 使用按钮和鼠标单击创建自定义事件

javascript - 如何正确使用SWFObject

javascript - 当用户标记复选框时触发 jquery 操作

javascript - 在选中同一行中其他单元格的其他复选框时禁用行中 html 表格单元格中的复选框

javascript - 替换视频的音轨

c# - 数据库中的 HTML 标签是不好的做法还是好的做法?

html - 启动 css 站点但格式问题

Java检测鼠标长按