gpt4 book ai didi

javascript - 单击按钮时连续重复翻转动画?

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

我有一个简单的 HTML 表单,底部有一个“下一步”按钮,可以将表单翻转到显示附加输入字段的“背面”。背面包含一个“<- 后退”按钮,可以使用垂直翻转动画 [rotateY(180deg)] 正确地将用户翻转到正面。我遇到的问题是,一旦我回到正面,编辑信息并再次点击“下一步”按钮,我就无法让旋转动画再次运行。然而,背面的信息显示,我无法让“卡片翻转”动画连续工作(每次单击按钮仅工作一次)。对我的代码进行任何形式的修改将不胜感激。

$(document).ready(function() {
$("input[name='next']").on("click", function() {
console.log("The NEXT Button Worked!");
$(".form").css("transform", "rotateY(180deg)");
})
$("input[name='back']").on("click", function() {
console.log("The BACK Button Worked!");
$(".formFlipAgain").css("transform", "rotateY(180deg)");
})
});

function showBack() {
setTimeout(function() {
document.getElementById("backSide").style.display = "block";
}, 600);
setTimeout(function() {
document.getElementById("frontSide").style.display = "none";
}, 600);
};

function showFront() {
setTimeout(function() {
document.getElementById("frontSide").style.display = "block";
}, 600);
setTimeout(function() {
document.getElementById("backSide").style.display = "none";
}, 600);
};
.form {
transform-style: preserve-3d;
-webkit-transition-duration: 2s;
-moz-transition-duration: 2s;
-o-transition-duration: 2s;
transition-duration: 2s;
}
.formFlipAgain {
transform-style: preserve-3d;
-webkit-transition-duration: 2s;
-moz-transition-duration: 2s;
-o-transition-duration: 2s;
transition-duration: 2s;
}
#flex {
display: flex;
flex-direction: column;
flex-wrap: nowrap;
align-items: space-between;
}
.formTitle {
border-bottom: solid red;
}
.form-style-5 {
position: relative;
top: 0px;
max-width: 60%;
max-height: 82vh;
padding: 10px 20px;
background: #f4f7f8;
margin: 10px auto;
border-radius: 8px;
font-family: "Avant Garde", Avantgarde, "Century Gothic", CenturyGothic, AppleGothic, sans-serif;
}
#form-style-5-Animation {
animation: slide 3s 1;
}
@keyframes slide {
0% {
transform: translate3d(0px, 1000%, 0px);
}
100% {
transform: translate3d(0px, 0%, 0px);
}
}
.form-style-5:after {
opacity: 1;
}
.form-style-5 fieldset {
border: none;
}
.form-style-5 legend {
font-size: 1.4em;
margin-bottom: 10px;
}
.form-style-5 label {
font-size: 1.3em;
display: block;
margin-bottom: 8px;
}
.form-style-5 input[type="text"],
.form-style-5 input[type="date"],
.form-style-5 input[type="datetime"],
.form-style-5 input[type="email"],
.form-style-5 input[type="location"],
.form-style-5 input[type="number"],
.form-style-5 input[type="search"],
.form-style-5 input[type="time"],
.form-style-5 input[type="url"],
.form-style-5 select {
font-family: Georgia, "Times New Roman", Times, serif;
background: rgba(255, 255, 255, .1);
border: none;
border-radius: 4px;
font-size: 16px;
margin: 0;
outline: 0;
padding-left: 2%;
height: 6%;
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
background-color: #e8eeef;
color: #8a97a0;
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03) inset;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03) inset;
margin-bottom: 3%;
}
.form-style-5 textarea {
font-family: Georgia, "Times New Roman", Times, serif;
background: rgba(255, 255, 255, .1);
border: none;
border-radius: 4px;
font-size: 16px;
margin: 0;
outline: 0;
padding-left: 2%;
height: 12%;
/*Changing height for task textarea*/
width: 100%;
-webkit-box-sizing: border-box;
-moz-box-sizing: border-box;
background-color: #e8eeef;
color: #8a97a0;
-webkit-box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03) inset;
box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03) inset;
margin-bottom: 3%;
}
.form-style-5 input[type="text"]:focus,
.form-style-5 input[type="date"]:focus,
.form-style-5 input[type="datetime"]:focus,
.form-style-5 input[type="email"]:focus,
.form-style-5 input[type="number"]:focus,
.form-style-5 input[type="search"]:focus,
.form-style-5 input[type="time"]:focus,
.form-style-5 input[type="location"]:focus,
.form-style-5 textarea:focus,
.form-style-5 select:focus {
background: #d2d9dd;
}
.form-style-5 select {
-webkit-appearance: menulist-button;
height: 35px;
}
.form-style-5 .number {
background: red;
color: #FCFBE3;
height: 25px;
width: 25px;
display: inline-block;
font-size: 0.8em;
margin-right: 4px;
line-height: 25px;
text-align: center;
text-shadow: 0 1px 0 rgba(255, 255, 255, 0.2);
border-radius: 0px 15px 15px 15px;
margin-bottom: 3%;
}
.form-style-5 input[type="submit"],
.form-style-5 input[type="button"] {
position: relative;
display: block;
padding: 10px 39px 10px 39px;
color: #FCFBE3;
margin: 0 auto;
background: red;
font-size: 22px;
text-align: center;
font-style: normal;
width: 100%;
border: 1px solid red;
border-width: 1px 1px 3px;
margin-bottom: 10px;
box-shadow: 0 5px 0 #b30000;
border-radius: 4px;
}
.form-style-5 input[type="backButton"] {
position: relative;
display: block;
padding: 10px 39px 10px 39px;
color: #FCFBE3;
margin: 0 auto;
background: red;
font-size: 22px;
text-align: center;
font-style: normal;
width: 140px;
border: 1px solid red;
border-width: 1px 1px 3px;
margin-bottom: 10px;
box-shadow: 0 5px 0 #b30000;
border-radius: 4px;
}
.form-style-5 input[type="submit"]:active,
.form-style-5 input[type="button"]:active {
transform: translateY(3px);
box-shadow: 0 2px 0 #b30000;
}
.form-style-5 input[type="submit"]:focus,
.form-style-5 input[type="button"]:focus {
outline: 0;
}
.next {
-webkit-transition-duration: .01s;
-moz-transition-duration: .01s;
-o-transition-duration: .01s;
transition-duration: .01s;
-webkit-transition-property: -webkit-transform;
-moz-transition-property: -moz-transform;
-o-transition-property: -o-transform;
transition-property: transform;
}
#backSide {
-moz-transform: scale(-1, 1);
-webkit-transform: scale(-1, 1);
-o-transform: scale(-1, 1);
-ms-transform: scale(-1, 1);
transform: scale(-1, 1);
}
#backButton {
background: red;
color: white;
box-shadow: 0 2px 0 #b30000;
border-radius: 4px;
border-color: red;
position: absolute;
float: left;
left: 15px;
top: 3px;
padding-left: 2px;
padding-right: 2px;
padding-top: 2px;
padding-bottom: 2px;
width: 90px;
height: 27px;
font-size: 105%;
outline: 0;
}
#name,
#contact,
#location,
#misc,
#job {
height: 5%;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.8.3/jquery.min.js"></script>

<div class="formFlipAgain">
<div class="form" id='flex'>
<div class="form-style-5" id="form-style-5-Animation">
<div id="frontSide">
<form action="send-sms.php" method="POST">
<fieldset>
<legend>
<div class="formTitle">Fill out the form below!</div>
</legend>
<input type="text" name="field1" id="name" placeholder="Your Name *">
<input type="text" name="field3" id="location" placeholder="Your Location (i.e. McNutt, exact address, etc.)*">
<input type="email" name="field2" id="email" placeholder="Email Address">
<span class="number">or</span>
<input type="text" name="field5" id="phone" placeholder="Phone Number">
<textarea type="text" id="task" name="field6" rows="1" placeholder="Task that needs completion, let us know how we can help!*"></textarea>
</fieldset>
<input name="next" type="button" value="Next &#x21fe;" class="next" onClick="showBack();" />
</div>
<div id="backSide" style="display: none;">
<input name="back" class="Button" type="button" onClick="showFront();" value="&#x21fd; &nbsp; back" id="backButton" />
<fieldset>
<legend>
<div class="formTitle">Please fill all required fields!</div>
</legend>
<input type="text" name="field1" id="name" placeholder="Your Name *">
<input type="text" name="field3" id="location" placeholder="Your Location (i.e. McNutt, exact address, etc.)*">
<input type="text" name="field4" id="misc" placeholder="Miscellaneous Information That May Be Important">
<input type="email" name="field2" id="email" placeholder="Email Address">
<label for="job">Urgency:</label>
<select id="job" name="field5">
<optgroup label="Urgency level: just for us to prioritize properly">
<option value="Not Urgent">Low (ETA: Up to an hour)</option>
<option value="reading">Normal (ETA: Up to 45 mins)</option>
<option value="boxing">Critical (ETA: ASAP!)</option>
</optgroup>
</select>
<input type="text" name="field4" id="misc" placeholder="Miscellaneous Information That May Be Important">
</fieldset>
<input name="submit" type="submit" value="Submit" onClick="push();return validateForm();" />
</fieldset>
</div>
</form>
</div>
</div>
</div>
</div>

最佳答案

您必须重置他们的轮换

如果它旋转了 180°,然后翻转到 180°,它会保持原样。

关于javascript - 单击按钮时连续重复翻转动画?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38593187/

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