gpt4 book ai didi

javascript - 仅每隔一次点击一次

转载 作者:行者123 更新时间:2023-11-28 16:04:24 25 4
gpt4 key购买 nike

我遇到的问题是,我用 JavaScript 编写的 onclick 函数只能每隔一次单击按钮执行一次。这是在添加此代码后发生的(因为我想在 x 秒后隐藏类/div):

popup.classList.toggle("show");
setTimeout(
function() {
popup.classList.toggle("hide");
}, 750);
}

因此换句话说,它在第一次单击时起作用,然后在类显示 x 秒时以及我要再次单击它时起作用。没有任何反应,但在下一次点击时它起作用了。这种情况一直持续下去。能有什么问题?

我尝试复制代码,但它在 jsfiddle 中似乎无法像在元素中那样工作。如果有人能告诉我这段代码有什么问题,以及如何让它在每次单击按钮时都显示弹出窗口。

https://jsfiddle.net/xxuvwc1b/

function showpop() {
var popup = document.getElementById("myPopup");
popup.classList.toggle("show");
setTimeout(
function() {
popup.classList.toggle("hide");
}, 750);
}
.popup {
background-color: black;
position: relative;
display: inline-block;
cursor: pointer;
-webkit-user-select: none;
-moz-user-select: none;
-ms-user-select: none;
user-select: none;
font-weight: bold;
font-family: 'Raleway', sans-serif;
font-size: 1em;
text-decoration: none;
color: green;
float: left;
border-radius: 5px;
border: none;
width: 100%;
}

:focus {
outline: 0 !important;
}

.popup .popuptext {
visibility: hidden;
width: 160px;
background-color: #555;
color: #fff;
text-align: center;
border-radius: 6px;
padding: 8px 0;
position: absolute;
z-index: 1;
bottom: 125%;
left: 50%;
margin-left: -80px;
}


/* Popup arrow */

.popup .popuptext::after {
content: "";
position: absolute;
top: 100%;
left: 50%;
margin-left: -5px;
border-width: 5px;
border-style: solid;
border-color: #555 transparent transparent transparent;
}

.popup .show {
visibility: visible;
-webkit-animation: fadeIn 1s;
animation: fadeIn 1s;
}

.popup .hide {
visibility: hidden;
}

@-webkit-keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}

@keyframes fadeIn {
from {
opacity: 0;
}
to {
opacity: 1;
}
}
<button class="popup" onclick="showpop();"><span class="popuptext" id="myPopup">HERE I AM!</span>SHOW ME A POPUP</button>

最佳答案

您单击它并添加类show。几乎一秒钟后,您添加了 hide 类(它仍然有 show 类)。

您再次单击它并删除show。几乎一秒钟后,您删除hide

下一次单击将同时添加两者。第 4 个删除两者。等等。


使用单个 类并将其打开和关闭。

关于javascript - 仅每隔一次点击一次,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47947353/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com