我有一些表单,如果验证失败,Jquery会在它前面添加错误消息。 当用户再次点击表单时,错误就会消失,这就是问题:错误淡出会导致表单向上移动一点点。 不是这个大问题,但每次看到它都会让我很烦。尝试通过玩CSS并设置不同的margin-top等来解决问题,没有任何帮助。 谢谢你的建议。
Jquery的:
$('body').delegate("input#email",'focus',function(){
$('#errors_of_sign').remove();});
$('body').delegate("input#password",'focus',function(){
$('#errors_of_sign').remove();});
CSS:
.sign_in {
display: none;
position: fixed;
top: 30%;
left: 28%;
border-style: solid;
border-width: 3px;
border-color: #c1ffc6;
background: #fff;
padding: 2%;
width: 40%;
height: 25%;
font-family: Arial, sans-serif;
z-index: 9999999;
font-size: 14px;
}
.signs_form{
font-family: Arial,Liberation Sans,DejaVu Sans,sans-serif;
display: inline-block;
border-right-style: solid;
padding-right: 10%;
border-width: 1px;
border-color: #c1ffc6;
}
.fb_sign {
display: inline-block;
vertical-align: 100%;
margin-left: 10%;
}
#sign_in_fb {
vertical-align: 100%;
}
答案 0 :(得分:1)
发生的事情是,当你从DOM中删除它时,它显然不再占用空间。所以只需将其隐藏起来:
$('body').delegate("input#email",'focus',function(){
$('#errors_of_sign').css('visibility','hidden');
})
$('body').delegate("input#password",'focus',function(){
$('#errors_of_sign').css('visibility','hidden');
})
修改强> 如果你的jquery版本是1.7或更高版本,你也应该使用“on”代替“delegate”