javascript - 动画完成后元素消失jquery
问题描述
由于某种原因,当动画完成时,元素消失了。
function addDoge()
{
var wallet_address = document.getElementById("d_address");
if(d_address.value == "")
{
d_address.style.boxShadow = "0px 0px 0px 4px red";
$("#d_address").toggle("shake");
}
else
{
d_address.style.boxShadow = null;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm col-centered">
<div class="slider-text">
<center>CLAIM</center>
<center><h1>GET UP TO 1000</h1></center>
</div>
<div class="input-wallet">
<input id="d_address" type="text" placeholder="WALLET ADDRESS">
</div>
<div class="claim_btn">
<a type="submit" id="add" class="button" onclick="addDoge()">CLAIM</a>
</div>
</div>
当我们点击一个按钮时,它首先检查输入字段是否为空,如果是,则字段的边框颜色变为红色,并且应该执行摇动动画。
解决方案
该.toggle()
方法隐藏或显示一个元素。因此,在您的情况下,元素是可见的,然后被切换为隐藏。要使其缩小然后增长,您需要.toggle()
在第一个动画完成后再次调用。
function addDoge()
{
var wallet_address = document.getElementById("d_address");
if(d_address.value == "")
{
d_address.style.boxShadow = "0px 0px 0px 4px red";
$("#d_address").toggle("shake", function(){
$(this).toggle();
});
}
else
{
d_address.style.boxShadow = null;
}
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div class="col-sm col-centered">
<div class="slider-text">
<center>CLAIM</center>
<center><h1>GET UP TO 1000</h1></center>
</div>
<div class="input-wallet">
<input id="d_address" type="text" placeholder="WALLET ADDRESS">
</div>
<div class="claim_btn">
<a type="submit" id="add" class="button" onclick="addDoge()">CLAIM</a>
</div>
</div>
推荐阅读
- swift - 需要通过使用要求的特定子类(或符合它的类型)来满足 Swift 协议要求
- kubernetes - 具有 2 个域的 K8s 入口都在侦听端口 80
- r - 在 RStudio - 如何导入未指定列的 csv 数据集?
- powershell - Powershell删除文件扩展名和下划线之间的文本
- android - flutter android - 无法列出 com.google.android.gms:play-services-location 的版本
- jquery - 将撇号与具体化一起使用时出现 TypeError
- typescript - 将 CSS 模块与 Webpack 和 Typescript 一起使用
- c - 从文件中填充结构数组
- python - 梯度下降算法不收敛
- r - R包中的编写和保存方法