一步一步学习js,仿火星首页“今日推荐”
看了《javascript高级程序设计》有一个多月了,感觉应该用js写个系统点的例子了,正好今天不太忙,就用js仿一下火星首页“今日推荐”模块吧。
样子如图所示:
JavaScript代码如下:
Download script.js
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 | var n = 0; var imgs = new Array(9); var path = "img/"; imgs[0]=path + "00.jpg"; imgs[1]=path + "01.jpg"; imgs[2]=path + "02.jpg"; imgs[3]=path + "03.jpg"; imgs[4]=path + "04.jpg"; imgs[5]=path + "05.jpg"; imgs[6]=path + "06.jpg"; imgs[7]=path + "07.jpg"; imgs[8]=path + "08.jpg"; function $(id){ return typeof id == 'string' ? document.getElementById(id) : id; } var timer; function showPic(){ var myimg = $("myimg"); var imglink = $("imglink"); myimg.setAttribute("src",imgs[n]); var myul = $("myul").getElementsByTagName("li"); var mylink = $("myul").getElementsByTagName("a"); var links = mylink[n].getAttribute("href"); var titles = mylink[n].getAttribute("title"); imglink.setAttribute("href",links); imglink.setAttribute("alt",titles); for(i=0;i<myul.length;i++){ myul[i].className = "none"; mylink[i].className = "none"; } myul[n].className = "hover"; mylink[n].className = "hover"; n++; if(n == 9) n = 0; } function shownow(){ clearInterval(timer);showPic(); } function showall(){ timer = setInterval("showPic()",3000); } function init(){ var mylink = $("myul").getElementsByTagName("a"); for(var i = 0, iLen = mylink.length ; i < iLen ; i++) { mylink[i].loc = i; mylink[i].onmouseover = function(){ n = this.loc; shownow(); } mylink[i].onmouseout = function(){ showall(); } } } timer = setInterval("showPic()",3000); init(); |
全部代码如下:
(点击“运行”直接查看效果)
提示:你可以先修改部分代码再运行。
例子到此结束,在写的过程中麻烦了一位同事(兼js“老师”)帮助,很感谢他!





