繁体   English   中英

功能适用于页面加载,但不适用于按钮单击

[英]function works on page load but not on button click

我试图让我的网络应用程序在单击时运行,但它仅在页面最初加载时才有效。 如果我一直按 f5 它将随机选择一个项目并正常工作。 但我希望它在按下“下一步”按钮时这样做。

我正在尝试将 'locationTitle' id 更改为 myArray 中的随机项目。

当我打开开发人员工具并单击“下一步”按钮时,它会在 div 的“locationTitle”值上闪烁。

let myArray = [
    'Boardwalk', 
    'Highland Park', 
    'Waterfront',
    'Beach', 
    'North End', 
    'Canal',
    'Wiley Island', 
    'Conservation Park', 
    'Dufferin Falls',
    'Old Town',
]

const random = Math.floor(Math.random() * myArray.length);
console.log(myArray[random]);

let my_btn = document.getElementById("my_btn");

function nextElement() {
    document.getElementById("locationTitle").innerHTML = (myArray[random]);
    

}


window.addEventListener("load", nextElement);
my_btn.addEventListener("click", nextElement);


html:
<button id = "my_btn" onclick = "nextElement()" ;>NEXT</button>

似乎每次单击按钮时都会调用该函数,但是您在脚本开头选择了一次随机值,并且每次都使用相同的值。

如果将随机值选择移到函数中,使函数如下所示,您应该会看到它每次都更改为不同的值:


...

function nextElement() {
    const random = Math.floor(Math.random() * myArray.length);
    document.getElementById("locationTitle").innerHTML = (myArray[random]); 
}

...

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM