<!DOCUMENT>
<head>
<script>
function open() {
var dialog = document.getElementById("dialog");
dialog.style.visibility = "visible";
}
function close() {
var dialog = document.getElementById("dialog");
dialog.style.visibility = "hidden";
}
</script>
<style>
#dialog {
background-color: #d9d9d9;
margin: auto auto;
width: 200px;
height: 80px;
border-radius: 10px;
visibility: hidden;
}
#dialog>p {
padding-top: 20px;
text-align: center;
}
#dialog>button {
margin-left: 35%;
}
.nopen {
position: absolute;
left: 44%;
top: 50%;
}
</style>
</head>
<html>
<body>
<p id="dialog">
<p>弹窗而已</p>
<button id=close onclick="close()">关闭我</button>
</p>
<button class="nopen" onclick="open()">不要点我</button>
</body>
</html>
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
你的open函数名和系统饿冲突了,
其导致的行为原因未知~~~1 把open函数改名
2 显示与否通过display属性设置而非visibility
visibility:hidden虽然在画面上看不到元素显示,但是它会占据页面区域位置,页面显示结构不重排
display:none,元素不占据位置,引起页面结构重排
把script里面的东西放到body下
自己注意哈!关键字。open是关键字,把你的函数名open改了 就好了
open是关键字,另外要用display隐藏掉~~,你的script标签放置的位置怪怪的