我创建了一个弹出框,当用户单击按钮时会出现该弹出框。目前,我可以让框出现,但当用户关闭它并重新打开它时,代码再次运行,另一个框堆叠在旧框的顶部。
我想做的是让它无论用户点击多少次,它只显示一个框…我的想法可能是检查它是否是空的,类似于How do I check if an HTML element is empty using jQuery?,但是到目前为止还没有起作用。
对菜鸟笨蛋有什么建议吗?提前感谢所有回复。
<button onclick="popup()">text</button>
<script>
var box = document.getElementById('popupbox');
function popup(){
box.style.display = "block";
var content = document.createElement('div');
content.className = 'boxstyle';
content.innerHTML = ' ...a handful of tags...';
box.appendChild(content);}
function exit(){
box.style.display = "none";}
</script>发布于 2017-11-18 15:31:29
实际上,我只需在代码块出现后添加box.innerHTML = ''就可以解决这个问题,这样它就可以从头开始工作了。我试图变得更优雅一些,并尝试使用If/Else语句,但最终它似乎起作用了。非常感谢所有回复/评论的人,你们都很棒!
<button onclick="popup()">text</button>
<script>
var box = document.getElementById('popupbox');
function popup(){
box.style.display = "block";
box.innerHTML = '';
var content = document.createElement('div');
content.className = 'boxstyle';
content.innerHTML = ' ...a handful of tags...';
box.appendChild(content);}
function exit(){
box.style.display = "none";}
https://stackoverflow.com/questions/47362911
复制相似问题