2012/11/8 11:59:27作者:佚名來源:網絡
【實例名稱】
JS實現循環(huán)滾動顯示圖片
【實例描述】
隨著Blog的日漸鼎盛,個人信息的網絡存儲越來越受人們青睞。目前最流行的個人相冊,是個人風采的又一展示方式。在相冊中通??梢酝ㄟ^滾動的形式瀏覽照片。本例介紹如何在網站中實現圖片的滾動。
【實例代碼】
<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>無標題頁-學無憂(yzddtk.cn)</title> <script language="javascript"> //定義要顯示的圖片數組 imgArr=new Array() imgArr[0]="<a href=http://www.google.com/ onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'> <img src=LOGO1.gif border=0></a>" imgArr[1]="<a href=http://www.baidu.com/ onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'> <img src=LOGO2.gif border=0></a>" imgArr[2]="<a href=http://www.google.com/ onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'> <img src=LOGO1.gif border=0></a>" imgArr[3]="<a href=http://www.baidu.com/ onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'> <img src=LOGO2.gif border=0></a>" imgArr[4]="<a href=http://www.google.com/ onmouseMove='javascript:outHover=true' onMouseover='javascript:outHover=true' onMouseout='javascript:outHover=false;mvStart()'> <img src=LOGO1.gif border=0></a>" //內部變量 var moveStep=4; //步長,單位:pixel var moveRelax=100; //移動時間間隔,單位:ms ns4=(document.layers)?true:false; var displayImgAmount=4 ; //視區(qū)窗口可顯示個數 var divWidth=220; //每塊圖片占位寬 var divHeight=145; //每塊圖片占位高 var startDnum=0; var nextDnum=startDnum+displayImgAmount; var timeID; var outHover=false; var startDivClipLeft; var nextDivClipRight; //初始化層 function initDivPlace() { if (ns4) { for (i=0;i<displayImgAmount;i++){ eval("document.divOuter.document.divAds"+i+".left="+divWidth*i) } for (i=displayImgAmount;i<imgArr.length;i++){ eval("document.divOuter.document.divAds"+i+ ".left="+divWidth*displayImgAmount) } }else{ for (i=0;i<displayImgAmount;i++){ eval("document.all.divAds"+i+ ".style.left="+divWidth*i) } for (i=displayImgAmount;i<imgArr.length;i++){ eval("document.all.divAds"+i+ ".style.left="+divWidth*displayImgAmount) } } } //設置定時器移動圖片 function mvStart(){ timeID=setTimeout(moveLeftDiv,moveRelax) } //清除定時器,停止移動 function mvStop(){ clearTimeout(timeID) }
function moveLeftDiv(){ if (ns4){ for (i=0;i<=displayImgAmount;i++){ eval("document.divOuter.document. divAds"+parseInt((startDnum+i)%imgArr.length)+".left= document.divOuter.document.divAds"+ parseInt((startDnum+i)%imgArr.length)+".left-moveStep") }
startDivClipLeft=parseInt(eval("document. divOuter.document.divAds"+startDnum+".clip.left")) nextDivClipRight=parseInt(eval("document.divOuter. document.divAds"+nextDnum+".clip.right"))
if (startDivClipLeft+moveStep>divWidth){ eval("document.divOuter.document.divAds"+ nextDnum+".clip.right="+divWidth) eval("document.divOuter.document.divAds"+ startDnum+".left="+divWidth*displayImgAmount) eval("document.divOuter.document.divAds"+ parseInt((nextDnum+1)%imgArr.length)+".left= document.divOuter.document.divAds"+nextDnum+".left+"+divWidth) eval("document.divOuter.document.divAds"+ parseInt((nextDnum+1)%imgArr.length)+".clip.left=0") startDnum=(++startDnum)%imgArr.length nextDnum=(startDnum+displayImgAmount)%imgArr.length startDivClipLeft=moveStep-(divWidth-startDivClipLeft) nextDivClipRight=moveStep-(divWidth-nextDivClipRight) }else{ eval("document.divOuter.document.divAds"+nextDnum+".clip.left=0") startDivClipLeft+=moveStep nextDivClipRight+=moveStep } eval("document.divOuter.document.divAds"+ startDnum+".clip.left="+startDivClipLeft) eval("document.divOuter.document.divAds"+ nextDnum+".clip.right="+nextDivClipRight) }else{ for (i=0;i<=displayImgAmount;i++){ eval("document.all.divAds"+ parseInt((startDnum+i)%imgArr.length)+".style.left= document.all.divAds"+parseInt((startDnum+i)%imgArr.length)+ ".style.pixelLeft-moveStep") } startDivClipLeft=parseInt(eval("document.all.divAds"+ startDnum+".currentStyle.clipLeft")) nextDivClipRight=parseInt(eval("document.all.divAds"+ nextDnum+".currentStyle.clipRight")) if (startDivClipLeft+moveStep>divWidth){ eval("document.all.divAds"+nextDnum+".style.clip= 'rect(0,"+divWidth+","+divHeight+",0"+")'") eval("document.all.divAds"+startDnum+ ".style.left="+divWidth*displayImgAmount) eval("document.all.divAds"+ parseInt((nextDnum+1)%imgArr.length)+".style.left= document.all.divAds"+nextDnum+".style.pixelLeft+"+divWidth) startDnum=(++startDnum)%imgArr.length nextDnum=(startDnum+displayImgAmount)%imgArr.length startDivClipLeft=moveStep-(divWidth-startDivClipLeft) nextDivClipRight=moveStep-(divWidth-nextDivClipRight) }else{ startDivClipLeft+=moveStep nextDivClipRight+=moveStep } eval("document.all.divAds"+startDnum+".style.clip= 'rect(0,"+divWidth+","+divHeight+","+startDivClipLeft+")'") eval("document.all.divAds"+nextDnum+".style.clip= 'rect(0,"+nextDivClipRight+","+divHeight+",0)'") } if (outHover){ mvStop() }else{ mvStart() } } //定義顯示圖片的層 function writeDivs(){ if (ns4){ document.write("<ilayer name=divOuter width=750 height="+divHeight+">") for (i=0;i<imgArr.length;i++){ document.write("<layer name=divAds"+i+">") document.write(imgArr[i]+" ") document.write("</layer>") } document.write("</ilayer>") document.close() for (i=displayImgAmount;i<imgArr.length;i++){ eval("document.divOuter.document.divAds"+i+".clip.right=0") } }else{ document.write("<div id=divOuter style='position:relative' width=750 height="+divHeight+">") for (i=0;i<imgArr.length;i++){ document.write("<div id=divAds"+i+ " style='position:absolute;clip:rect(0,"+divWidth+","+divHeight+",0)'>") document.write(imgArr[i]+" ") document.write("</div>") } document.write("</div>") for (i=displayImgAmount;i<imgArr.length;i++){ eval("document.all.divAds"+i+ ".style.clip='rect(0,0,"+divHeight+",0)'") } } } writeDivs(); initDivPlace();
需要在body中添加啟動事件,代碼如下所示: </script> </head> <body onload="mvStart()"> <p> 調試其他進程的能力賦予您極廣泛的權力,這是無法通過其他途經獲得的, 在進行遠程調試時更是如此。惡意的調試器可能對正在調試的計算機造成大范圍的損害。 因此,對可能進行調試的人要有所限制。有關更多信息,請參見<a >遠程調試權限</a>。</p> <p> 但是,許多開發(fā)人員沒有意識到安全威脅也可以從相反的方向產生。 調試對象進程中的惡意代碼可能危害調試計算機的安全:有許多必須防范的不道德的安全利用。</p> <h1 > 安全性最佳做法</h1> </body> </html>
【運行效果】
【難點剖析】
本例的重點是ilayer層和Array數組。其中數組是JavaScript的重要對象,用來存儲一系列類型相同的數據。ilayer層具有三維的感覺,使設計者能夠對相互重疊的層組成的三維層進行精確地控制,這些相互重疊的層是Web頁上透明或不透明的內容。
【源碼下載】
為了JS代碼的準確性,請點擊:JS實現循環(huán)滾動顯示圖片 進行本實例源碼下載
標簽: JS實現 圖片
相關文章
Adobe indesign cs6中文版
詳情金山數據恢復大師官方版 v1.0.0.2
詳情南方測繪Cass10v10.1.6中文
詳情revit 2017
詳情KeyShot Pro 9中文(附安裝教程) v9.0.286
詳情網易新聞客戶端v105.3
詳情AIMP4v5.11.2421中文綠色美化版
詳情onekey一鍵還原v18.0.18.1008
詳情浩辰CAD2020綠色v20.0
詳情好圖網圖標轉換工具v4.9.7
詳情aardiov35.0.0中文最新版
詳情Adobe Creative Cloud 2024簡體中文v5.3.0.48
詳情暴風影音16 v9.04.1029去廣告精簡版
詳情ASP.NET Maker 2019(ASP.NET代碼生成工具)v12.0.4.0
詳情暴風影音v5.92.0824.1111
詳情迅雷5穩(wěn)定版v5.8.14.706
詳情使命召喚17官方中文版 v1.0
詳情死亡之雨新的僵尸病毒中文v1.0綠色免安裝版
詳情輻射4v1.7.15.0整合版
詳情克莉2v1.0中文版
詳情冬日計劃v1.2中文版
詳情刺客信條英靈殿v1.0吾愛
詳情刺客信條英靈殿終極v1.0免安裝
詳情動物森友會v1.10.0最新
詳情哈迪斯殺出地獄v1.37中文
詳情嗜血印中文豪華版v1.0豪華版 附游戲攻略秘籍
詳情城市戰(zhàn)斗v1.0中文
詳情尼爾人工生命v1.0steam免費
詳情尼爾人工生命升級版v1.0PC
詳情層層恐懼2中文v1.0綠色免安裝版
詳情往日不再v1.0 steam
詳情往日不再v1.0pc
詳情小生活游戲內置MOD版v2.0(57)安卓版
詳情使命召喚手游測試服最新版v1.9.41安卓版
詳情三國謀定天下官服v1.2.1安卓版
詳情熱血新手村高爆版v1.0.0安卓版
詳情我養(yǎng)你啊手機版v1.0.0安卓版
詳情看懂了就很恐怖的故事(細思極恐)中文版v1.0安卓版
詳情背包英雄中文手機版v1.1.1安卓版
詳情glow官方版v2.0.9安卓版
詳情三國大時代4霸王立志官方正版v1.9安卓版
詳情飛盧小說閱讀器手機版v7.0.7安卓版
詳情牛?;浾Z詞典軟件v20.4.4安卓版
詳情PrettyUp視頻美化瘦身軟件v2.3.0
詳情化學方程式app中文版v1.1.0.20安卓版
詳情地下城堡3魂之詩2024安卓最新版v1.2.3安卓版
詳情南方都市報v6.10.0安卓版
詳情阿修羅之眼正版v1.0.10安卓版
詳情