我有一个登录表单和一个注册'注册'表格下面的标题。当用户点击'注册'链接,登录淡出和注册表单淡入。我使用以下脚本:
$("#loginArea").fadeOut(2000, function () {
$("#RegisterArea").fadeIn(2000, function () {
$("#RegisterArea").empty().append(mydata); });
//$("#RegisterArea").empty().
});
使用上面的代码,登录表单淡出,但是对于regsiter表单淡入不起作用,只是把'mydata'内容在' RegisterArea'没有动画。
你能帮助我吗?
答案 0 :(得分:2)
我想你可能想这样做:
$("#loginArea").fadeOut(2000, function () {
$("#RegisterArea").empty().hide().append(mydata);
$("#RegisterArea").fadeIn(2000);
});
如果淡入时注册区域为空,则无法看到它,因此首先用内容填充它,然后将其淡入:)
答案 1 :(得分:1)
对我来说似乎工作正常。看这个演示:
您是否有可能最初隐藏#RegisterArea
?或者您用来选择对象的ID是不正确的(它们与底层HTML不匹配)?我在使演示正常工作的同时遇到了这些问题。
最初要隐藏#RegisterArea
,您可以使用the jQuery .hide
method,也可以将CSS中的样式设置为display:none
。
如果这没有帮助,您可能想尝试在chrome中运行它,打开脚本控制台,看看您是否在页面上收到了脚本错误。要打开脚本控制台 F12 ,请单击窗口左下角的Show Console
按钮。
以下是我使用您的代码制作的演示的工作代码。
HTML:
<div id="loginArea">
<a id="register">Click me to register</a>
</div>
<div id="RegisterArea">
</div>
CSS:
#loginArea {
background:grey;
}
#RegisterArea {
width:50px;
height:50px;
background:green;
display:none;
}
JS:
$("#register").click(function() {
$("#loginArea").fadeOut(2000, function() {
$("#RegisterArea").fadeIn(2000, function() {
var mydata = "test123";
$("#RegisterArea").empty().append(mydata);
});
});
});