精品秘无码一区二区三区老师-精品秘一区二三区免费雷安-精品蜜桃秘一区二区三区-精品蜜桃秘一区二区三区粉嫩-精品蜜桃一区二区三区-精品蜜臀国产aⅴ一区二区三区

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

如何利用javascript寫“淡入淡出”效果的提示框[轉]

admin
2010年8月18日 1:25 本文熱度 3900

昨天在得寫“RSS收藏”欄目展現的時候我讓RSS的列表用彈出的形式展現了,開始是直接的控制 style.display 來做的,但是感覺有點生硬,后來我利用javascript寫了一個淡入淡出的效果,感覺在視覺上要比原來舒服多了,由此也總結出一段客戶端的javascript腳本,只需傳入一個元素的ID,就能對其實現淡入淡出的效果了,經測試,在IE6及firefox下都通過了,下面給大家分享一下兒吧。         其實“淡入淡出”的效果無非是需要通過定時的改變元素的透明度來實現的,但這個透明度的無素屬性在IE和firefox下寫法是不同的(不知道什么時候“標準”才能真正成為標準)。ie下要用“.filters.alpha.opacity”來指定透明度,而在firefox下卻變成了“.style.opacity”了,并且在使用中我發現在ie環境下你可以直接用“obj.filters.alpha.opacity=obj.filters.alpha.opacity+10”這樣子的寫法來直接更改元素的透明度,而firefox下卻不行,它會報腳本錯誤,只能去更改一個變量的值,然后再去賦值給“.style.opacity”屬性才行,需要注意的也就這么多吧,下面我實現了兩個大家經常會用到的效果:
一、手動去控制一個元素的出現與消失
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<SCRIPT>
var intTimeStep=20;
var isIe=(window.ActiveXObject)?true:false;
var intAlphaStep=(isIe)?5:0.05;
var curSObj=null;
var curOpacity=null;
function startObjVisible(objId)
{
curSObj=document.getElementById(objId);
setObjState();
}
function setObjState(evTarget)
{
if (curSObj.style.display==""){curOpacity=1;setObjClose();}
else{
if(isIe)
{
curSObj.style.cssText='DISPLAY: none;Z-INDEX: 1; FILTER: alpha(opacity=0); POSITION: absolute;';
curSObj.filters.alpha.opacity=0;
}else
{
curSObj.style.opacity=0
}
curSObj.style.display='';

curOpacity=0;
setObjOpen();
}
}

function setObjOpen()
{
if(isIe)
{
curSObj.filters.alpha.opacity+=intAlphaStep;
if (curSObj.filters.alpha.opacity<100) setTimeout('setObjOpen()',intTimeStep);
}else{
curOpacity+=intAlphaStep;
curSObj.style.opacity =curOpacity;
if (curOpacity<1) setTimeout('setObjOpen()',intTimeStep);
}
}

function setObjClose()
{
if(isIe)
{
curSObj.filters.alpha.opacity-=intAlphaStep;
if (curSObj.filters.alpha.opacity>0) {
setTimeout('setObjClose()',intTimeStep);}
else {curSObj.style.display="none";}
}else{
curOpacity-=intAlphaStep;
if (curOpacity>0) {
curSObj.style.opacity =curOpacity;
setTimeout('setObjClose()',intTimeStep);}
else {curSObj.style.display='none';}
}
}
</SCRIPT>
</head>
<body>
<table width=80%><tr><td>效果一:手動控制展現或消失<br><input type=button onclick="startObjVisible('objDiv');if(this.value=='點擊展現'){this.value='點擊隱藏'}else{this.value='點擊展現'}" value="點擊展現"></td>
</tr>
<tr><td><DIV id="objDiv" style="DISPLAY: none;">
<img src="http://www.zj-blog.com/common/images/emot/Face_21.gif">測試效果<img src="http://www.zj-blog.com/common/images/emot/Face_21.gif"></DIV></td></tr>
</table>

</body>
</html>


二、彈出一個淡入淡出的提示框



程序代碼

<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<html>
<head>
<title></title>
<SCRIPT>
var intTimeStep=20;
var isIe=(window.ActiveXObject)?true:false;
var intAlphaStep=(isIe)?5:0.05;
var curSObj=null;
var curOpacity=null;
var stopTime=0;
function startObjMessage(objId)
{
curSObj=document.getElementById(objId);
if(isIe){curSObj.style.cssText='DISPLAY: none; Z-INDEX: 1; FILTER: alpha(opacity=0); POSITION: absolute;';}
setMessage();
}

function setMessage()
{
if(isIe){curSObj.filters.alpha.opacity=0;}
else{curOpacity=0;curSObj.style.opacity=0}
curSObj.style.display='';
setMessageShow();
}
function setMessageShow()
{
if(isIe)
{
curSObj.filters.alpha.opacity+=intAlphaStep;
if (curSObj.filters.alpha.opacity<100) {setTimeout('setMessageShow()',intTimeStep);}
else{stopTime+=10;if(stopTime<500){setTimeout('setMessageShow()',intTimeStep);}else{stopTime=0;setMessageClose();}}
}else
{
curOpacity+=intAlphaStep;
curSObj.style.opacity =curOpacity;
if (curOpacity<1) {setTimeout('setMessageShow()',intTimeStep);}
else{stopTime+=10;if(stopTime<200){setTimeout('setMessageShow()',intTimeStep);}else{stopTime=0;setMessageClose();}}
}
}
function setMessageClose()
{
if(isIe)
{
curSObj.filters.alpha.opacity-=intAlphaStep;
if (curSObj.filters.alpha.opacity>0) {
setTimeout('setMessageClose()',intTimeStep);
}
else {
curSObj.style.display='none';
}
}
else
{
curOpacity-=intAlphaStep;
if (curOpacity>0) {
curSObj.style.opacity =curOpacity;
setTimeout('setMessageClose()',intTimeStep);
}
else {
curSObj.style.display='none';
}
}

}
</SCRIPT>
</head>
<body>
<table width=80% ID="Table1"><tr><td>效果二:淡入淡出的彈出消息<br><input type=button onclick="startObjMessage('objDiv')" value="點擊彈出消息" ID="Button1" NAME="Button1"></td>
</tr>
<tr><td><DIV id="objDiv" style="DISPLAY: none; Z-INDEX: 1; POSITION: absolute; ">
<img src="http://www.zj-blog.com/common/images/emot/Face_21.gif">測試效果<img src="http://www.zj-blog.com/common/images/emot/Face_21.gif"></DIV></td></tr>
</table>

</body>
</html>

該文章在 2010/8/18 1:25:28 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 亚洲国产2025最新 | 国产又黄又大又色爽的A片 国产又黄又猛又粗又爽的A片动漫 | 欧美国产日本精品一区二区三 | 国产精品v亚洲精品色欲 | 国产成人久久久精品麻豆二区三区 | 一本道久久综合网 | 肉体裸交丰满丰满少妇在线观看 | 日本毛片免费中文 | 无码乱人伦一区二区亚洲 | 国产精品久久久久久久成人午夜 | 久久久久久亚洲av成人无码国产 | 国产成人亚洲精品无码不卡 | 精品无码人妻一区二区三区品 | 久久精品国产自清天天线 | 日韩精品在线电影 | 国产射频lna低噪声放大器初中 | 国产精品三级一区二区三区 | 国产精品久久人妻拍拍水牛影视 | 国产b站永久免费 | 把女人弄爽的特黄A大片 | 国产真实乱了在线播放 | 国产日韩欧美在视频一区二区久久 | 国产片免费福利片永久不卡 | 国产午夜精品av一区二区麻豆 | 国产无遮挡18禁无码网站不卡 | 少妇放荡的呻吟干柴烈火动漫 | 日韩精品一区二区三区vr | 精品无码一区二区三区视在线 | 91精品国产综合久久婷婷香蕉 | 97se亚洲综合自在线尤物 | 亚洲国产精品无码久久久久久曰 | 亚洲欧美激情精品 | 亚洲色大成网站www永久 | 和学长学姐的日夜 | 91性高湖久久久久久精品中文字幕 | 51国偷自产一区二区三区 | 日韩亚洲欧美久久久www综合 | 久久婷婷五月综合色高清 | 熟妇五十路六十路息与子 | 亚洲九九精品一区二区三区 | 一级国产高清免费观看 |