2012/10/29 16:00:57作者:佚名來源:網(wǎng)絡(luò)
【實(shí)例名稱】
文本鏈接的漸變效果
【實(shí)例描述】
漸變效果屬于頁面的特效.可以通過一些鏈接或圖像的漸變.增強(qiáng)用戶的視覺體驗(yàn)。本例學(xué)習(xí)如何實(shí)現(xiàn)文本鏈接的漸變。
【實(shí)例代碼】
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>無標(biāo)題頁-學(xué)無憂(wangbatian.cn)</title> <script language="javascript"> //內(nèi)部變量 startColor = "#671700"; // 定義鏈接顏色 endColor = "#D8D1C5"; // 定義要漸變到最后的顏色 stepIn = 17; stepOut = 23; autoFade = true; //定義是否讓所有的文本鏈接自動(dòng)漸變 sloppyClass = false; //特殊樣式 hexa = new makearray(16); for(var i = 0; i < 10; i++) hexa[i] = i; hexa[10]="a"; hexa[11]="b"; hexa[12]="c"; hexa[13]="d"; hexa[14]="e"; hexa[15]="f"; //定義窗體事件 document.onmouseover = domouseover; document.onmouseout = domouseout; //初始設(shè)置 startColor = dehexize(startColor.toLowerCase()); endColor = dehexize(endColor.toLowerCase()); var fadeId = new Array();
function dehexize(Color) { var colorArr = new makearray(3); for (i=1; i<7; i++){ for (j=0; j<16; j++){ if (Color.charAt(i) == hexa[j]){ if (i%2 !=0) colorArr[Math.floor((i-1)/2)]=eval(j)*16; else colorArr[Math.floor((i-1)/2)]+=eval(j); } } } return colorArr; } //鼠標(biāo)移動(dòng)到鏈接時(shí)的顏色變換 function domouseover() { if(document.all){ var srcElement = event.srcElement; if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) fade(startColor,endColor,srcElement.uniqueID,stepIn); } } //鼠標(biāo)移走時(shí)的顏色變換 function domouseout() { if (document.all){ var srcElement = event.srcElement; if ((srcElement.tagName == "A" && autoFade) || srcElement.className == "fade" || (sloppyClass && srcElement.className.indexOf("fade") != -1)) fade(endColor,startColor,srcElement.uniqueID,stepOut); } } function makearray(n) //定義數(shù)組 { this.length = n; for(var i = 1; i <= n; i++) this[i] = 0; return this; } //考慮到顏色的16進(jìn)制表示方法,實(shí)現(xiàn)轉(zhuǎn)換 function hex(i) { if (i < 0) return "00"; else if (i > 255) return "ff"; else return "" + hexa[Math.floor(i/16)] + hexa[i%16]; } //定義顏色的方法 function setColor(r, g, b, element) { var hr = hex(r); var hg = hex(g); var hb = hex(b); element.style.color = "#"+hr+hg+hb; } //實(shí)現(xiàn)顏色漸變的關(guān)鍵方法 function fade(s,e, element,step) { var sr = s[0]; var sg = s[1]; var sb = s[2]; var er = e[0]; var eg = e[1]; var eb = e[2]; if (fadeId[0] != null && fade[0] != element){ setColor(sr,sg,sb,eval(fadeId[0])); var i = 1; while(i < fadeId.length){ clearTimeout(fadeId[i]); i++; } } for(var i = 0; i <= step; i++) { fadeId[i+1] = setTimeout("setColor(Math.floor(" +sr+ " *(( " +step+ " - " +i+ " )/ " +step+ " ) + " +er+ " * (" +i+ "/" + step+ ")),Math.floor(" +sg+ " * (( " +step+ " - " +i+ " )/ " +step+ " ) + " +eg+ " * (" +i+ "/" +step+ ")),Math.floor(" +sb+ " * ((" +step+ "-" +i+ ")/" +step+ ") + " +eb+ " * (" +i+ "/" +step+ ")),"+element+");",i*step); } fadeId[0] = element; } </script> </head> <body>
需要在body中添加一個(gè)文本鏈接,代碼如下所示: <a href="http://www.google.com">最可愛的文本鏈接</a>
<br /> <p> 調(diào)試其他進(jìn)程的能力賦予您極廣泛的權(quán)力,這是無法通過其他途經(jīng)獲得的,在進(jìn)行遠(yuǎn)程調(diào)試時(shí)更是如此。惡意的調(diào)試器可能對(duì)正在調(diào)試的計(jì)算機(jī)造成大范圍的損害。因此,對(duì)可能進(jìn)行調(diào)試的人要有所限制。有關(guān)更多信息,請(qǐng)參見<a >遠(yuǎn)程調(diào)試權(quán)限</a>。</p> <p> 但是,許多開發(fā)人員沒有意識(shí)到安全威脅也可以從相反的方向產(chǎn)生。調(diào)試對(duì)象進(jìn)程中的惡意代碼可能危害調(diào)試計(jì)算機(jī)的安全:有許多必須防范的不道德的安全利用。</p> <h1 > 安全性最佳做法</h1> </body> </html>
【運(yùn)行效果】
【難點(diǎn)剖析】
本例的重點(diǎn)有3處:判斷頁面中的鏈接、定時(shí)變換顏色和顏色RGB的隨機(jī)值。本例只對(duì)鏈接實(shí)現(xiàn)漸變,所以當(dāng)鼠標(biāo)移動(dòng)時(shí),需要判斷指定的元素是否是鏈接,這通過“srcElement.tagName”=="A"”判斷。定時(shí)變換顏色是使用定時(shí)器結(jié)合代碼中提供的”setColor”方法實(shí)現(xiàn)。顏色RGB值的獲取非常關(guān)鍵,由于RGB是一個(gè)16進(jìn)制的表示方法。所以代碼中還使用了Math對(duì)蟓,并利用“Math.floor”來獲取除法運(yùn)算后的整數(shù)部分。
【源碼下載】
如果你不愿復(fù)制代碼及提高代碼準(zhǔn)確性,你可以點(diǎn)擊:文本鏈接的漸變效果 進(jìn)行本實(shí)例源碼下載
標(biāo)簽: JS代碼 鏈接
相關(guān)文章
Adobe indesign cs6中文版
詳情金山數(shù)據(jù)恢復(fù)大師官方版 v1.0.0.2
詳情南方測(cè)繪Cass10v10.1.6中文
詳情revit 2017
詳情KeyShot Pro 9中文(附安裝教程) v9.0.286
詳情網(wǎng)易新聞客戶端v105.3
詳情AIMP4v5.11.2421中文綠色美化版
詳情onekey一鍵還原v18.0.18.1008
詳情浩辰CAD2020綠色v20.0
詳情好圖網(wǎng)圖標(biāo)轉(zhuǎn)換工具v4.9.7
詳情aardiov35.0.0中文最新版
詳情Adobe Creative Cloud 2024簡(jiǎn)體中文v5.3.0.48
詳情暴風(fēng)影音16 v9.04.1029去廣告精簡(jiǎn)版
詳情ASP.NET Maker 2019(ASP.NET代碼生成工具)v12.0.4.0
詳情暴風(fēng)影音v5.92.0824.1111
詳情迅雷5穩(wěn)定版v5.8.14.706
詳情使命召喚17官方中文版 v1.0
詳情死亡之雨新的僵尸病毒中文v1.0綠色免安裝版
詳情輻射4v1.7.15.0整合版
詳情克莉2v1.0中文版
詳情冬日計(jì)劃v1.2中文版
詳情刺客信條英靈殿v1.0吾愛
詳情刺客信條英靈殿終極v1.0免安裝
詳情動(dòng)物森友會(huì)v1.10.0最新
詳情哈迪斯殺出地獄v1.37中文
詳情嗜血印中文豪華版v1.0豪華版 附游戲攻略秘籍
詳情城市戰(zhàn)斗v1.0中文
詳情尼爾人工生命v1.0steam免費(fèi)
詳情尼爾人工生命升級(jí)版v1.0PC
詳情層層恐懼2中文v1.0綠色免安裝版
詳情往日不再v1.0 steam
詳情往日不再v1.0pc
詳情小生活游戲內(nèi)置MOD版v2.0(78)安卓版
詳情使命召喚手游測(cè)試服最新版v1.9.41安卓版
詳情三國(guó)謀定天下官服v1.2.1安卓版
詳情熱血新手村高爆版v1.0.0安卓版
詳情我養(yǎng)你啊手機(jī)版v1.0.0安卓版
詳情看懂了就很恐怖的故事(細(xì)思極恐)中文版v1.0安卓版
詳情背包英雄中文手機(jī)版v1.1.1安卓版
詳情glow官方版v2.0.9安卓版
詳情三國(guó)大時(shí)代4霸王立志官方正版v1.9安卓版
詳情飛盧小說閱讀器手機(jī)版v7.0.7安卓版
詳情牛牛粵語詞典軟件v20.4.4安卓版
詳情PrettyUp視頻美化瘦身軟件v2.3.0
詳情化學(xué)方程式app中文版v1.1.0.20安卓版
詳情地下城堡3魂之詩2024安卓最新版v1.2.3安卓版
詳情南方都市報(bào)v6.10.0安卓版
詳情阿修羅之眼正版v1.0.10安卓版
詳情