日期:2014-05-16 浏览次数:20647 次
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <title>向上循环滚动的图片展示效果</title> <meta http-equiv="content-type" content="text/html;charset=gb2312"> <!--把下面代码加到<head>与</head>之间--> <style type="text/css"> #ad{ position:absolute; width:150px; height:200px; border:1px solid #000; overflow:hidden; } #ad ul{ position:absolute; list-style-type:none; margin:0; padding:0; } </style> <script language="javascript"> var ad = { o:null, // 存放滚动的UL cloneImg:null, //克隆UL的第一个图片 adY:0, //滚动值 distan:0, //每个图片的高度 init:function(obj){ if(!obj.style.top){ obj.style.top = '0px'; } this.cloneImg = obj.firstChild.cloneNode(true); //克隆第一个节点 if(this.cloneImg.nodeType == 3) this.cloneImg = obj.firstChild.nextSibling.cloneNode(true); //除IE外第一个节点为文本节点,这里做点调整,让克隆节点还是指向第一个元素 obj.appendChild(this.cloneImg); //让克隆的节点放入最后 this.adY = parseInt(obj.style.top); this.o = obj; this.distan = this.cloneImg.offsetHeight; //获取高度 this.moveCtrl(); }, moveCtrl:function(){ if(Math.abs(this.adY) == this.o.offsetHeight - this.distan) this.adY = 0; //当到达底部,让滚动直接跳回最上面 if(Math.abs(this.adY)%this.distan==0){ setTimeout('ad.moveCtrl()',2000); //对每个图片做停留,也就是延迟函数的循环 } else { setTimeout('ad.moveCtrl()',10); //运动循环 } --this.adY; ad.o.style.top = this.adY + 'px'; } } window.onload = function(){ var obj = document.getElementById('adul'); ad.init(obj); //直接把UL放入类里,就可以用了,类已基本封装好 } </script> </head> <body> <!--把下面代码加到<body>与</body>之间--> <div id="ad"> <ul id="adul"> <li><img src="http://www.zzsky.cn/effect/images/huandeng1.jpg" width="150" height="200"></li> <li><img src="http://www.zzsky.cn/effect/images/huandeng2.jpg" width="150" height="200"></li> <li><img src="http://www.zzsky.cn/effect/images/huandeng3.jpg" width="150" height="200"></li> <li><img src="http://www.zzsky.cn/effect/images/huandeng4.jpg" width="150" height="200"></li> <li><img src="http://www.zzsky.cn/effect/images/huandeng5.jpg" width="150" height="200"></li> </ul> </div> </body> </html>
用javascript模拟select达到美化成效