【发布时间】:2020-05-01 04:17:42
【问题描述】:
我有一个非常奇怪的问题。我网页上的 Javascript 代码无法正常工作。奇怪的是,当我在 localhost (wamp) 上运行该页面时,一切正常,正如它应该的那样。当我将网页上传到虚拟主机时,问题就开始了,部分代码不起作用。应该调用弹出窗口(div 标签)的部分根本不起作用。单击链接时,没有任何反应。
我曾尝试使用两个不同的免费网络主机,但两者都出现了同样的问题。我还尝试运行开发人员工具 (F12),但没有出现我预期的错误,因为在 localhost 上一切正常。
这是不起作用的特定代码。
<div id="mySidenav" class="sidenav">
<a href="javascript:void(0)" class="closebtn" onclick="closeNav()">×</a>
<a href="javascript:void(0)" id="myBtn">T1</a>
<a href="javascript:void(0)" id="myBtn2">T2</a>
<a href="javascript:void(0)" id="myBtn3">T3</a>
<a href="javascript:void(0)" id="myBtn4">T4</a>
</div>
<script>
var modal = document.getElementById('myModal');
var btn = document.getElementById("myBtn");
var span = document.getElementsByClassName("close")[0];
btn.onclick = function() {
modal.style.display = "block";
}
span.onclick = function() {
modal.style.display = "none";
}
</script>
<script>
var modal2 = document.getElementById('myModal2');
var btn2 = document.getElementById("myBtn2");
var span2 = document.getElementsByClassName("close")[1];
btn2.onclick = function() {
modal2.style.display = "block";
}
span2.onclick = function() {
modal2.style.display = "none";
}
</script>
<script>
var modal3 = document.getElementById('myModal3');
var btn3 = document.getElementById("myBtn3");
var span3 = document.getElementsByClassName("close")[2];
btn3.onclick = function() {
modal3.style.display = "block";
}
span3.onclick = function() {
modal3.style.display = "none";
}
</script>
<script>
var modal4 = document.getElementById('myModal4');
var btn4 = document.getElementById("myBtn4");
var span4 = document.getElementsByClassName("close")[3];
btn4.onclick = function() {
modal4.style.display = "block";
}
span4.onclick = function() {
modal4.style.display = "none";
}
</script>
我知道javascript是前端技术,它不在服务器上运行,但我真的不知道是什么原因造成的。我希望有人有类似的问题,因为我真的不知道会是什么。
【问题讨论】:
-
欢迎来到 StackOverflow。为了提供帮助,我们需要您提供更多帮助。你说:这是不起作用的特定代码。:没有
id的元素myModal(et.al.),没有类名为@的元素987654324@ 包括在这里。如果您的代码旨在显示或隐藏这些其他元素,那么了解它们的结构会很有帮助。请提供结构的其余部分。 -
@RandyCasburn 这是第一个模态内容。让我们专注于此。
-
@RandyCasburn
-
@Ricky97 你的 HTML 中声明了四种模式吗?还有为什么这么多剧本?
-
@Bibberty 是的,当然我声明了 4 个模态。每个脚本用于一个模式。我只是不明白为什么它在托管时不起作用。本地主机上的一切都很好
标签: javascript hosting