Javascript运行不正确-已尝试所有操作



我的javascript只有一行代码,它得到了"getElementById null"错误。

document.getElementById("menu-background").style.left = "0";

HTML:

<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="main.css" />
<script type="text/javavascript" src="js/main-menu.js"></script>
</head>
<body>
<div id="menu-background">
<div id="main-menu"></div>
</div>
</body>
</html>

CSS:

#menu-background {
position: fixed;
width: 100%;
height: 100%;
background-image: url("images/background.png");
background-position: center;
background-size: cover;
top: 0;
text-align: center;
left: 100%;
}
#main-menu {
width: 60vw;
height: 80vh;
border-style: solid;
border-radius: 1.125em;
border-color: #b88a00;
margin: auto;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
background-color: rgba(0, 0, 0, 0.75);
transition: all 0.25s;
}

我运行visualstudio代码,并检查了js的链接。我还试着在HTML文件中运行它。

你可以试试这个:

window.addEventListener('DOMContentLoaded', function(e) {
document.getElementById("menu-background").style.left = "0";    
});

您应该将script放在文档的末尾,以便在到达元素之前对其进行定义:

<html>
<head>
<title></title>
<link rel="stylesheet" type="text/css" href="main.css" />
</head>
<body>
<div id="menu-background">
<div id="main-menu"></div>
</div>
<script type="text/javavascript" src="js/main-menu.js"></script>
</body>
</html>

我发现了问题!!!

我的HTML文件名为"main.HTML",当我将其重命名为"index.HTML"时,它就工作了!

谢谢你们的快速回复,伙计们。我是新来的,所以我是认真的。

最新更新