以下是 jQuery超酷动态弹出表单js代码 的示例演示效果:
部分效果截图:
HTML代码(index.html):
<!DOCTYPE html>
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>jQuery超酷动态弹出表单</title>
<link href="style.css" rel="stylesheet" />
<script type="text/javascript" src="jquery-1.2.6.min.js"></script>
<script type="text/javascript" src="jquery.easing.1.3.js"></script>
<script language="javascript">
$(document).ready(function() {
$('#nav-bar').fadeIn();
$('#Log-in').click(function() {
$('#Log-in').css('background-color', '#006699');
$('#signUp').css('background-color', '#000000');
$('#submit').hide().css({'left' : '0px'});
$('#SignupForm').hide().css({'top' : '0px'});
$('#login').show().animate({
left : '52%',
},400,function(){
$('#login').css({'-webkit-transform' : 'rotate(-0deg)','-moz-transform' : 'rotate(-0deg)' });
});
///
$('#Login_form').show().animate({
top : '60px',
},700,function(){
//$('#image').css({'-webkit-transform' : 'rotate(-90deg)','-moz-transform' : 'rotate(-90deg)' });
});
});
$('#signUp').click(function() {
$('#signUp').css('background-color', '#006699');
$('#Log-in').css('background-color', '#000000');
$('#login').hide().css({'left' : '0px'});
$('#Login_form').hide().css({'top' : '0px'});
$('#submit').show().animate({
left : '52%',
},400,function(){
$('#submit').css({'-webkit-transform' : 'rotate(-0deg)','-moz-transform' : 'rotate(-0deg)' });
});
///
$('#SignupForm').show().animate({
top : '60px',
},700,function(){
//$('#image').css({'-webkit-transform' : 'rotate(-90deg)','-moz-transform' : 'rotate(-90deg)' });
});
});
});
</script>
</head>
<body>
<img src="result.png" id="login" /> <img src="submit.png" id="submit" />
<div class="loginform" id="Login_form">
<form method="post" action="#">
<div>
<div class="form-item">
<label for="edit-name">Username:</label>
<input type="text" class="form-text required" value size="15" id="edit-name" name="name" maxlength="60">
</div>
<div class="form-item">
<label for="edit-pass">Password:</label>
<input type="password" class="form-text required" size="15" maxlength="60" id="edit-pass" name="pass">
</div>
</div>
</form>
</div>
<div class="loginform" id="SignupForm">
<form method="post" action="#">
<div>
<div class="form-item">
<label for="edit-name">Email:</label>
<input type="text" class="form-text required" value size="15" id="edit-name" name="name" maxlength="60">
</div>
<div class="form-item">
<label for="edit-name">Username:</label>
<input type="text" class="form-text required" value size="15" id="edit-name" name="name" maxlength="60">
</div>
<div class="form-item">
<label for="edit-pass">Password:</label>
<input type="password" class="form-text required" size="15" maxlength="60" id="edit-pass" name="pass">
</div>
</div>
</form>
</div>
<div id="nav-bar">
<div class="module-bg">
<a href="#" class="TopButtons" id="Log-in">Login</a>
<a href="#" class="TopButtons" id="signUp">SignUp</a> </div>
</div>
<!--<img src="reg.png" id="register" />-->
<br><br><br><br><br><br><br><br><br>
<br><br><br><br><br><br><br><br><br>
</body>
</html>
JS代码(jquery.easing.1.3.js):
/* * jQuery Easing v1.3 - http://gsgd.co.uk/sandbox/jquery/easing/ * * Uses the built in easing capabilities added In jQuery 1.1 * to offer multiple easing options * * TERMS OF USE - jQuery Easing * * Open source under the BSD License. * * Copyright 漏 2008 George McGinley Smith * All rights reserved. * * Redistribution and use in source and binary forms,with or without modification,* are permitted provided that the following conditions are met:* * Redistributions of source code must retain the above copyright notice,this list of * conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice,this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the author nor the names of contributors may be used to endorse * or promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES,INCLUDING,BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT,INCIDENTAL,SPECIAL,* EXEMPLARY,OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES;
LOSS OF USE,DATA,OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY,WHETHER IN CONTRACT,STRICT LIABILITY,OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. **/
// t:current time,b:begInnIng value,c:change In value,d:durationjQuery.easing['jswing'] = jQuery.easing['swing'];
jQuery.extend( jQuery.easing,{
def:'easeOutQuad',swing:function (x,t,b,c,d){
//alert(jQuery.easing.default);
return jQuery.easing[jQuery.easing.def](x,t,b,c,d);
}
,easeInQuad:function (x,t,b,c,d){
return c*(t/=d)*t + b;
}
,easeOutQuad:function (x,t,b,c,d){
return -c *(t/=d)*(t-2) + b;
}
,easeInOutQuad:function (x,t,b,c,d){
if ((t/=d/2) < 1) return c/2*t*t + b;
return -c/2 * ((--t)*(t-2) - 1) + b;
}
,easeInCubic:function (x,t,b,c,d){
return c*(t/=d)*t*t + b;
}
,easeOutCubic:function (x,t,b,c,d){
return c*((t=t/d-1)*t*t + 1) + b;
}
,easeInOutCubic:function (x,t,b,c,d){
if ((t/=d/2) < 1) return c/2*t*t*t + b;
return c/2*((t-=2)*t*t + 2) + b;
}
,easeInQuart:function (x,t,b,c,d){
return c*(t/=d)*t*t*t + b;
}
,easeOutQuart:function (x,t,b,c,d){
return -c * ((t=t/d-1)*t*t*t - 1) + b;
}
,easeInOutQuart:function (x,t,b,c,d){
if ((t/=d/2) < 1) return c/2*t*t*t*t + b;
return -c/2 * ((t-=2)*t*t*t - 2) + b;
}
,easeInQuint:function (x,t,b,c,d){
return c*(t/=d)*t*t*t*t + b;
}
,easeOutQuint:function (x,t,b,c,d){
return c*((t=t/d-1)*t*t*t*t + 1) + b;
}
,easeInOutQuint:function (x,t,b,c,d){
if ((t/=d/2) < 1) return c/2*t*t*t*t*t + b;
return c/2*((t-=2)*t*t*t*t + 2) + b;
}
,easeInSine:function (x,t,b,c,d){
return -c * Math.cos(t/d * (Math.PI/2)) + c + b;
}
,easeOutSine:function (x,t,b,c,d){
return c * Math.sin(t/d * (Math.PI/2)) + b;
}
,easeInOutSine:function (x,t,b,c,d){
return -c/2 * (Math.cos(Math.PI*t/d) - 1) + b;
}
,easeInExpo:function (x,t,b,c,d){
return (t==0) ? b:c * Math.pow(2,10 * (t/d - 1)) + b;
}
,easeOutExpo:function (x,t,b,c,d){
return (t==d) ? b+c:c * (-Math.pow(2,-10 * t/d) + 1) + b;
}
,easeInOutExpo:function (x,t,b,c,d){
if (t==0) return b;
if (t==d) return b+c;
if ((t/=d/2) < 1) return c/2 * Math.pow(2,10 * (t - 1)) + b;
return c/2 * (-Math.pow(2,-10 * --t) + 2) + b;
}
,easeInCirc:function (x,t,b,c,d){
return -c * (Math.sqrt(1 - (t/=d)*t) - 1) + b;
}
,easeOutCirc:function (x,t,b,c,d){
return c * Math.sqrt(1 - (t=t/d-1)*t) + b;
}
,easeInOutCirc:function (x,t,b,c,d){
if ((t/=d/2) < 1) return -c/2 * (Math.sqrt(1 - t*t) - 1) + b;
return c/2 * (Math.sqrt(1 - (t-=2)*t) + 1) + b;
}
,easeInElastic:function (x,t,b,c,d){
var s=1.70158;
var p=0;
var a=c;
if (t==0) return b;
if ((t/=d)==1) return b+c;
if (!p) p=d*.3;
if (a < Math.abs(c)){
a=c;
var s=p/4;
}
else var s = p/(2*Math.PI) * Math.asin (c/a);
return -(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
}
,easeOutElastic:function (x,t,b,c,d){
var s=1.70158;
var p=0;
var a=c;
if (t==0) return b;
if ((t/=d)==1) return b+c;
if (!p) p=d*.3;
if (a < Math.abs(c)){
a=c;
var s=p/4;
}
else var s = p/(2*Math.PI) * Math.asin (c/a);
return a*Math.pow(2,-10*t) * Math.sin( (t*d-s)*(2*Math.PI)/p ) + c + b;
}
,easeInOutElastic:function (x,t,b,c,d){
var s=1.70158;
var p=0;
var a=c;
if (t==0) return b;
if ((t/=d/2)==2) return b+c;
if (!p) p=d*(.3*1.5);
if (a < Math.abs(c)){
a=c;
var s=p/4;
}
else var s = p/(2*Math.PI) * Math.asin (c/a);
if (t < 1) return -.5*(a*Math.pow(2,10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )) + b;
return a*Math.pow(2,-10*(t-=1)) * Math.sin( (t*d-s)*(2*Math.PI)/p )*.5 + c + b;
}
,easeInBack:function (x,t,b,c,d,s){
if (s == undefined) s = 1.70158;
return c*(t/=d)*t*((s+1)*t - s) + b;
}
,easeOutBack:function (x,t,b,c,d,s){
if (s == undefined) s = 1.70158;
return c*((t=t/d-1)*t*((s+1)*t + s) + 1) + b;
}
,easeInOutBack:function (x,t,b,c,d,s){
if (s == undefined) s = 1.70158;
if ((t/=d/2) < 1) return c/2*(t*t*(((s*=(1.525))+1)*t - s)) + b;
return c/2*((t-=2)*t*(((s*=(1.525))+1)*t + s) + 2) + b;
}
,easeInBounce:function (x,t,b,c,d){
return c - jQuery.easing.easeOutBounce (x,d-t,0,c,d) + b;
}
,easeOutBounce:function (x,t,b,c,d){
if ((t/=d) < (1/2.75)){
return c*(7.5625*t*t) + b;
}
else if (t < (2/2.75)){
return c*(7.5625*(t-=(1.5/2.75))*t + .75) + b;
}
else if (t < (2.5/2.75)){
return c*(7.5625*(t-=(2.25/2.75))*t + .9375) + b;
}
else{
return c*(7.5625*(t-=(2.625/2.75))*t + .984375) + b;
}
}
,easeInOutBounce:function (x,t,b,c,d){
if (t < d/2) return jQuery.easing.easeInBounce (x,t*2,0,c,d) * .5 + b;
return jQuery.easing.easeOutBounce (x,t*2-d,0,c,d) * .5 + c*.5 + b;
}
}
);
/* * * TERMS OF USE - EASING EQUATIONS * * Open source under the BSD License. * * Copyright 漏 2001 Robert Penner * All rights reserved. * * Redistribution and use in source and binary forms,with or without modification,* are permitted provided that the following conditions are met:* * Redistributions of source code must retain the above copyright notice,this list of * conditions and the following disclaimer. * Redistributions in binary form must reproduce the above copyright notice,this list * of conditions and the following disclaimer in the documentation and/or other materials * provided with the distribution. * * Neither the name of the author nor the names of contributors may be used to endorse * or promote products derived from this software without specific prior written permission. * * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY * EXPRESS OR IMPLIED WARRANTIES,INCLUDING,BUT NOT LIMITED TO,THE IMPLIED WARRANTIES OF * MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE * COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT,INDIRECT,INCIDENTAL,SPECIAL,* EXEMPLARY,OR CONSEQUENTIAL DAMAGES (INCLUDING,BUT NOT LIMITED TO,PROCUREMENT OF SUBSTITUTE * GOODS OR SERVICES;
LOSS OF USE,DATA,OR PROFITS;
OR BUSINESS INTERRUPTION) HOWEVER CAUSED * AND ON ANY THEORY OF LIABILITY,WHETHER IN CONTRACT,STRICT LIABILITY,OR TORT (INCLUDING * NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE,EVEN IF ADVISED * OF THE POSSIBILITY OF SUCH DAMAGE. * */
CSS代码(style.css):
body{font-family:Arial,Helvetica,"Trebuchet MS";}
input{font:12px/100% Verdana,sans-serif;color:#494949;}
a.TopButtons,a.TopButtons:visited{-moz-border-radius:3px 3px 3px 3px;background:none repeat scroll 0 0 #000000;color:#FFFFFF;float:left;font-family:helvetica,arial,sans-serif;font-size:13px;font-weight:700;margin:0 1px 30px;padding:12px 15px;text-align:center;text-decoration:none;text-shadow:none;-moz-border-radius:3px;-webkit-border-radius:3px;-webkit-transition:all 0.1s ease-in-out;width:120px;}
a.TopButtons:hover{text-shadow:none;text-align:center;font-family:helvetica,arial,sans-serif;color:#fff;font-size:13px;background:#006699;text-decoration:none;font-weight:700;-moz-border-radius:3px;-webkit-border-radius:3px;-webkit-transition:all 0.1s ease-in-out;}
.module-bg{left:0;margin:0;opacity:0.85;padding:0;position:absolute;top:5px;height:43px;width:304px;z-index:1;}
#nav-bar{font-size:14px;font-weight:500;display:none;height:40px;left:30%;position:fixed;line-height:18px;}
#login{/* for firefox,safari,chrome,etc. */
-webkit-transform:rotate(-60deg);-moz-transform:rotate(-60deg);left:0px;cursor:pointer;top:60px;display:none;position:absolute;/* for ie */
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
#submit{/* for firefox,safari,chrome,etc. */
-webkit-transform:rotate(-60deg);-moz-transform:rotate(-60deg);left:0px;cursor:pointer;top:80px;display:none;position:absolute;/* for ie */
filter:progid:DXImageTransform.Microsoft.BasicImage(rotation=3);}
div{font-size:14px;font-family:Arial,Helvetica,"Trebuchet MS";}
input.form-text{border:4px solid #c0d679;padding:4px 10px;font-size:15px;font-family:Arial,Helvetica,"Trebuchet MS";}
input.form-text:focus{background:#ddedbb;border-color:#70a405;}
html.js input.form-autocomplete{width:95%;}
a.login{display:block;float:right;font-family:"Trebuchet MS",Arial;font-size:13px;text-decoration:none;padding:6px 12px 6px 12px;font-weight:bold;color:#266b5d;font-variant:small-caps;}
a.login:hover,a.logout:hover{color:#1d2920;}
#Login_form{background:transparent url(login_pop.png) no-repeat top center;}
#SignupForm{background:transparent url(signup_pop.png) no-repeat top center;}
div.loginform{top:0px;left:30%;height:350px;position:fixed;display:none;width:305px;}
.loginform form{padding:23px;position:relative;*padding-top:33px;*padding-bottom:28px;*overflow:inherit;_padding-top:30px;_height:1%;}
.loginform .item-list{padding-top:7px;overflow:hidden;_padding-top:15px;}
.loginform .form-item{overflow:hidden;margin:13px 0px;clear:both;_padding:4px 0px;_margin:0px;}
.loginform .form-item label{float:left;color:#5c7a72;font-size:13px;padding-top:6px;}
.loginform .form-item input.form-text{border-width:1px;background:#eff7f9;float:right;width:156px;}
.loginform .form-item input.form-text:hover,.loginform .form-item input.form-text:focus{background:#FFF;}
.loginform .form-submit{background:transparent url(images/login_btn.gif) no-repeat center;padding:3px 4px;float:right;font-variant:small-caps;font-family:Arial,"Trebuchet MS",Helvetica;color:#e5eae9;border:none;width:72px;height:27px;}
.loginform .form-submit:hover{color:#FFF;background:url(images/login_btn_o.gif);}