当前位置:软件学堂 > 资讯首页 > 网络编程 > 编程其他 > JS代码实现幻灯片式的导航菜单

JS代码实现幻灯片式的导航菜单

2012/11/2 20:16:46作者:佚名来源:网络

移动端

【实例名称】

JS代码实现幻灯片式的导航菜单

【实例描述】

导航菜单用一个div封装,每次只显示一个菜单,并实现菜单变化时的幻灯片效果。

【实例代码】

 

<html xmlns="http://www.w3.org/1999/xhtml" > <head> <title>标题页-学无忧(www.xue51.com)</title> <style> #linkView{ position:relative; layer-background-color:black; width:400; height:12; ; font-family: "宋体"; font-size: 9pt} #subtickertape{ background-color:black; position:absolute; border: 1px solid black; width:400; height:12; ; font-family: "宋体"; font-size: 9pt } .subtickertapefont{ font:bold 9pt "宋体"; text-decoration:none; color:white; } .subtickertapefont a{ color:white; text-decoration:none; ; font-family: "宋体"; font-size: 9pt} </style> </head> <body bgcolor="#fef4d9" onload="if (document.all||document.layers) {regenerate2();update()}"> <div id="linkView"> <div id="subtickertape" class="subtickertapefont">初始化...</div> </div> <script language="JavaScript"> //默认速度3秒,可以修改速度快慢。 var speed=3000 var news=new Array() news[0]="<a href='index1.htm'>我的连接1</a>"//创建链接树数组 news[1]="<a href='index2.htm'>我的连接2</a>" news[2]="<a href='index3.htm'>我的连接3</a>" news[3]="<a href='index4.htm'>我的连接4</a>" news[4]="<a href='index5.htm'>我的连接5</a>" news[5]="<a href='index6.htm'>我的连接6</a>" news[6]="<a href='index7.htm'>我的连接7</a>"

//显示的信息内容按照格式添加。 i=0 if (document.all) tickerobject=document.all.subtickertape.style else tickerobject=document.linkView.document function regenerate(){ window.location.reload()        //重新加载页面 } function regenerate2(){ if (document.layers)           //非IE浏览器时的定时器 setTimeout("window.onresize=regenerate",450) }

function update(){  BgFade(0xff,0xff,0xff, 0x00,0x00,0x00,10); if (document.layers){ document.linkView.document.subtickertape.document.write ('<span class="subtickertapefont">'+news[i]+'</span>') document.linkView.document.subtickertape.document.close() } else document.all.subtickertape.innerHTML=news[i] //动态显示链接(使用数组索引找到要显示的链接) if (i<news.length-1) //      判断是否已经显示完所有链接 i++                                         //如果不是,则显示下个链接 else i=0              //否则从头开始 setTimeout("update()",speed) }

 function BgFade(red1, grn1, blu1, red2,  grn2, blu2, steps) {  sred = red1; sgrn = grn1; sblu = blu1; //颜色的设置  ered = red2; egrn = grn2; eblu = blu2;  inc = steps;  step = 0;  RunFader();  }  function RunFader() {  var epct = step/inc;  var spct = 1 - epct;  if (document.layers)  tickerobject.bgColor =  Math.floor(sred * spct + ered *  epct)*256*256 +  Math.floor(sgrn * spct + egrn * epct)*256 +  Math.floor(sblu * spct + eblu * epct);  else                              //背景色的渐变效果,注意颜色的设置  tickerobject.backgroundColor=  Math.floor(sred * spct + ered *  epct)*256*256 +  Math.floor(sgrn * spct + egrn * epct)*256 +  Math.floor(sblu * spct + eblu * epct);  if ( step < inc ) {  setTimeout('RunFader()',50);    //循环执行渐变效果  }  step++;  } </script> </body> </html>

【运行效果】

 幻灯片式的导航菜单运行效果

【难点剖析】

本例的重点是链接的显示和特效的实现。所有链接都保存在“news”数组中。通过循环使用数组索引逐个显示链接的内容,然后使用“RunFader”方法,实现链接更改时的幻灯片效果。

【源码下载】

为了JS代码的准确性,请点击:幻灯片式的导航菜单 进行本实例源码下载