水平走马灯特效
2009-06-23 21:56 飞逝心情 阅读(949) 评论(0) 编辑 收藏 举报走马灯能够给用户在小的空间内显示多的内容的功能,同时兼有页面美观大方的特点。
由于项目需要插入水平方面的走马灯,用于显示一系列的介绍图片,研究了网上的代码,发现示例运行的有效,可到了我这里,走不了两个就要停止,经过取其中的数据进行分析发现了原因:如果需要显示的图片的总长度<走马灯区域的可见宽度,那么,走马灯一定会在小于的那个地方停止。
因此,如果图片宽度过小的话,建议不要使用走马灯,那是没有任何意义的。
好了,附上网上流传很广的走马灯示例的源码(有多广?阿里用的就是这个)
- <!-- 指向链接图片的URL -->
- <base href="http://www.google.cn/intl/zh-CN/images/">
- <div align="center" id="demo" style="overflow:hidden;height:100px;width:1200px;border-width:1px 1px 1px 1px;border-style:dotted dotted dotted dotted;">
- <table border="0" cellspacing="0" cellpadding="0">
- <tr>
- <td id="demo1"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif"><img src="logo_cn.gif" border="0"></td>
- <td id="demo2"> </td>
- </tr>
- </table>
- </div>
- <div id="ss"></div>
- <script language="javascript" type="text/javascript">
- <!--
- var demo = document.getElementById("demo");
- var demo1 = document.getElementById("demo1");
- var demo2 = document.getElementById("demo2");
- var speed=10; //数值越大滚动速度越慢
- if(demo.offsetWidth<demo1.offsetWidth)//这个判断至关重要,否则,不滚动显示重复的信息是没有意义的
- {
- demo2.innerHTML = demo1.innerHTML
- function Marquee(){
- if(demo2.offsetWidth-demo.scrollLeft<=0)
- demo.scrollLeft-=demo1.offsetWidth
- else{
- demo.scrollLeft++
- }
- }
- var MyMar = setInterval(Marquee,speed);
- demo.onmouseover = function(){clearInterval(MyMar)}
- demo.onmouseout = function(){MyMar = setInterval(Marquee,speed)}}
- -->
- </script>