gpt4 book ai didi

javascript - slideToggle() jquery 期间的异常填充/边距

转载 作者:行者123 更新时间:2023-11-28 00:06:20 26 4
gpt4 key购买 nike

slideToggle() 是否会在过渡期间更改填充或边距,而不是将它们恢复正常?因为我正在尝试切换两种形式,一种用于登录,一种用于静态 html 页面的注册,但在转换过程中,在我的表单和其他内容(准确地说是文本)之间创建了类似上边距的内容,而不是所有内容已调整回应有的大小。

第一个屏幕是静态页面,没有过渡,后者在过渡期间:https://imgur.com/a/R5pppq5这是代码,我正在使用实时服务器插件在 Atom 上编程:

// Example starter JavaScript for disabling form submissions if there are invalid fields

var index_toggle = new Boolean(true);

$(document).ready(function() {
$("#toggle_home").click(function() {
$("#login").slideToggle("slow");
$("#register").slideToggle("slow");
$("#toggle_home_txt").fadeOut(function() {
if (index_toggle) {
$(this).html("↧ LOGIN").fadeIn();
} else {
$(this).html("↥ REGISTER").fadeIn();
}
index_toggle = !index_toggle;
});


});
});
#register {
display: none;
}

body.index {
display: -ms-flexbox;
display: flex;
-ms-flex-align: center;
align-items: center;
padding-top: 80px;
padding-bottom: 40px;
background-color: white;
color: #6c757d;
}

div.index {
padding-top: 40px;
padding-bottom: 0px;
border-radius: 3%;
width: 500px;
}

button {
border-radius: 20%;
padding-bottom: 10%;
padding-top: 0;
background-color: #e9ecef;
border-color: #6c757d;
border-style: solid;
color: #6c757d;
transition: 0.3s ease;
}

button:focus {
outline: none;
}

#send_butt {
width: 40px;
height: 40px;
}

button:hover {
background-color: #6c757d;
color: white;
}

button.toggle_home {
top: 0px;
padding-bottom: 2%;
transform: translate(0, -100%);
}

img.index {
width: 100px;
height: 100px;
border-radius: 50%;
position: absolute;
left: 50%;
transform: translate(-50%, -100%);
background-color: #e9ecef;
border-color: white;
border-style: solid;
}

.form-signin {
width: 450px;
padding: 15px;
margin: auto;
}
<link rel="stylesheet" type="text/css" href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css" integrity="sha384-ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZw1T" crossorigin="anonymous">
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>

<body class="text-center index">
<div class="jumbotron index form-signin">
<img src="images/user_index.png" class="index" />
<p id="index_text" class="my-3">Please fill this form to create an account.</p>



<form id="login" novalidate>
<hr>

<div class="form-row">
<!-- Username input -->
<div class="col-md-12 mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"> &rsaquo;</span>
</div>
<input type="text" class="form-control" id="LoginUsername" placeholder="Username" required>
</div>
</div>
</div>

<!-- Password input -->

<div class="form-row">
<input type="password" class="col-md-6 mb-3 form-control" id="LoginPassword" placeholder="Password" required>

<div class="text-right col-md-6 mb-3 form-check">
<input class="form-check-input" type="checkbox" id="LoginRemember">
<label class="form-check-label" for="LoginRemember">Remember me?</label>
</div>
</div>
</form>

<div id="div_toggle">
<hr>
<div class="toggle_home" style="float:left;">
<button id="toggle_home" class="toggle_home">
<div id="toggle_home_txt">
&#8613; REGISTER
</div>
</button>
</div>
</div>

<form id="register" class="form-signin mt-5" novalidate>

<div class="form-row">
<div class="col mb-3">
<input type="text" class="form-control" id="RegName" placeholder="First name" required>
</div>
<div class="col-md-6 mb-3">
<input type="text" class="form-control" id="RegSurname" placeholder="Surname" required>
</div>
</div>
<div class="form-row">
<div class="col-md-12 mb-3">
<div class="input-group">
<div class="input-group-prepend">
<span class="input-group-text"> &rsaquo;</span>
</div>
<input type="text" class="form-control" id="RegUsername" placeholder="Username" required>
</div>
</div>
</div>
<div class="form-row">
<div class="col-md-6 mb-3">
<input type="password" class="form-control" id="RegPassword" placeholder="Password" required>
</div>
<div class="col-md-6 mb-3">
<input type="password" class="form-control" id="RegConfirmPassword" placeholder="Confirm Password" required>
</div>
</div>
<hr/>
</form>
<div style="float:right;">
<button id="send_butt" class="mb-2">&#8250;</button>
</div>
</div>
</body>

最佳答案

对于寻找此问题的另一种解决方案的任何人,您可以使用具有固定高度的伪元素代替边距来阻止折叠边距效果,例如:

.hidden-element:before {
display: block;
width: 100%;
height: 24px; /* the top margin height you want */
content: '';
}

您还可以使用 :after 作为下边距。

关于javascript - slideToggle() jquery 期间的异常填充/边距,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55693056/

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