本文實(shí)例講述了JS實(shí)現(xiàn)點(diǎn)擊登錄彈出窗口同時(shí)背景色漸變動(dòng)畫效果。分享給大家供大家參考,具體如下:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title></title>
<STYLE>
#login{
position: relative;
display: none;
top: 20px;
left: 30px;
background-color: #ffffff;
text-align: center;
border: solid 1px;
padding: 10px;
z-index: 1;
}
body {
background-color: #0099CC;
}
.STYLE1 {color: #FFFF00}
</STYLE>
<script type="text/javascript">
var W = screen.width;//取得屏幕分辨率寬度
var H = screen.height;//取得屏幕分辨率高度
function M(id){
return document.getElementById(id);//用M()方法代替document.getElementByIdx_x(id)
}
function MC(t){
return document.createElement(t);//用MC()方法代替document.createElement_x(t)
};
//判斷瀏覽器是否為IE
function isIE(){
return (document.all && window.ActiveXObject && !window.opera) ? true : false;
}
//取得頁(yè)面的高寬
function getBodySize(){
var bodySize = [];
with(document.documentElement) {
bodySize[0] = (scrollWidth>clientWidth)?scrollWidth:clientWidth;//如果滾動(dòng)條的寬度大于頁(yè)面的寬度,取得滾動(dòng)條的寬度,否則取頁(yè)面寬度
bodySize[1] = (scrollHeight>clientHeight)?scrollHeight:clientHeight;//如果滾動(dòng)條的高度大于頁(yè)面的高度,取得滾動(dòng)條的高度,否則取高度
}
return bodySize;
}
//創(chuàng)建遮蓋層
function popCoverDiv(){
if (M("cover_div")) {
//如果存在遮蓋層,則讓其顯示
M("cover_div").style.display = 'block';
} else {
//否則創(chuàng)建遮蓋層
var coverDiv = MC('div');
document.body.appendChild(coverDiv);
coverDiv.id = 'cover_div';
with(coverDiv.style) {
position = 'absolute';
background = '#CCCCCC';
left = '0px';
top = '0px';
var bodySize = getBodySize();
width = bodySize[0] + 'px'
height = bodySize[1] + 'px';
zIndex = 0;
if (isIE()) {
filter = "Alpha(Opacity=60)";//IE逆境
} else {
opacity = 0.6;
}
}
}
}
//讓登陸層顯示為塊
function showLogin()
{
var login=M("login");
login.style.display = "block";
}
//設(shè)置DIV層的樣式
function change(){
var login = M("login");
login.style.position = "absolute";
login.style.border = "1px solid #CCCCCC";
login.style.background ="#F6F6F6";
var i=0;
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5 + "px";
popChange(i);
}
//讓DIV層大小循環(huán)增大
function popChange(i){
var login = M("login");
var bodySize = getBodySize();
login.style.left = (bodySize[0]-i*i*4)/2+"px";
login.style.top = (bodySize[1]/2-100-i*i)+"px";
login.style.width = i*i*4 + "px";
login.style.height = i*i*1.5+ "px";
if(i<=10){
i++;
setTimeout("popChange("+i+")",10);//設(shè)置超時(shí)10毫秒
}
}
//打開DIV層
function open()
{
change();
showLogin();
popCoverDiv()
void(0);//不進(jìn)行任何操作,如:<a href="#">aaa</a>
}
//關(guān)閉DIV層
function close(){
M('login').style.display = 'none';
M("cover_div").style.display = 'none';
void(0);
}
</script>
</head>
<body>
<br>
<br>
<div align="center"><a href="javascript:open();" class="STYLE1">登陸</a></div>
<div id="login">
<span>用戶登陸</span>
<div id="panel">
<lable>用戶名: </lable><input type="text" size="20" />
<lable>密碼: </lable><input type="password" size="20">
<input type="checkbox" /><lable>登陸</lable>
</div>
<input type="button" value="提交" />
<a href="javascript:close();">關(guān)閉</a>
</div>
</body>
</html>
希望本文所述對(duì)大家JavaScript程序設(shè)計(jì)有所幫助。