首页 > 解决方案 > JS函数不会在按钮单击时初始化

问题描述

当我在函数中添加括号时,它会立即初始化,告诉我它的语法并不差,但是当我删除它们时,它不会在单击时启动。帮助将不胜感激谢谢。

        <nav class="nav-box">
            <div class="nav-header">
                <h1> heading here </h1>
            </div>
            <div>
                <ul class="main-nav">
                    <li><a id='about-btn' class='button nav' href="#">about</a></li>
                    <li><a id='services-btn' class='button nav' href="#" >services</a></li>
                    <li><a id='contact-btn' class='button nav' href="#">contact</a></li>
                </ul>
            </div>              
        </nav>
let about_button = document.getElementById('about-btn');
about_button.onclick=scroll

function scroll(){
    let scroller = {
        top: 950,
        left: 0,
        behavior : "smooth"
    }
    window.scrollBy(scroller);
}

标签: javascripthtmldom

解决方案


首先你的身体没有足够的包容。您的 html 正文需要高度超过 950 像素。然后你需要把 addEventListener 与点击事件

let about_button = document.getElementById('about-btn');

about_button.addEventListener('click',(e)=>{
    e.preventDefault();
   console.log("Trigger");
    let scroller = {
        top: 950,
        left: 0,
        behavior : "smooth"
    }
    window.scrollBy(scroller);
})
        <nav class="nav-box">
            <div class="nav-header">
                <h1> heading here </h1>
            </div>
            <div>
                <ul class="main-nav">
                    <li><a id='about-btn' class='button nav' href="#">about</a></li>
                    <li><a id='services-btn' class='button nav' href="#" >services</a></li>
                    <li><a id='contact-btn' class='button nav' href="#">contact</a></li>
                </ul>
            </div>              
        </nav>
        <p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p><p>
        &nbsp;
        </p>


推荐阅读