JQuery实现滚动广告(转)

 用JQuery实现简单的滚动广告:

       实现的思想是,定义一个div,div大小跟每张图片的大小一致。在div里面定义两个ul列表,一个用于显示图片,一个用于控制图片.定义div的 overflow值为hidden,使div内只能显示一张图片,然后利用JQuery的animate()实现整个ul的上下移动,使之显示指定的图片。

        HTML代码

        

按 Ctrl+C 复制代码
<div id="d1"> <ul id="adv"> <li><img src="images/1.jpg" alt="1" /> </li> <li><img src="images/2.jpg" alt="2" /> </li> <li><img src="images/3.jpg" alt="3" /> </li> <li><img src="images/4.jpg" alt="4" /> </li> <li><img src="images/5.jpg" alt="5" /> </li> </ul> <ul id="num"> <li> 1 </li> <li> 2 </li> <li> 3 </li> <li> 4 </li> <li> 5 </li> </ul> </div>
按 Ctrl+C 复制代码

CSS代码

按 Ctrl+C 复制代码
* { margin: 0px; padding: 0px; } #d1 { border: 2px solid #E98C36; width: 548px; height: 177px; margin-left: 30%; margin-top: 10%; position: relative; overflow: hidden; } #adv, #num { position: absolute; } ul li { list-style: none; display: inline; } ul img { width: 548px; height: 177px; display: block; } #num { right: 5px; bottom: 5px; } #num li { float: left; color: #FF7300; text-align: center; line-height: 16px; width: 16px; height: 16px; font-family: Arial; font-size: 12px; cursor: pointer; overflow: hidden; margin: 3px 1px; border: 1px solid #FF7300; } .on { line-height: 21px; width: 21px; height: 21px; font-size: 16px; margin: 0 1px; border: 0; background-color: red; font-weight: bold; }
按 Ctrl+C 复制代码

JS代码

 

按 Ctrl+C 复制代码
<script type="text/javascript" src="js/jquery-1.7.1.js"></script> <script type="text/javascript"> var i = 0; $(function() { //当鼠标移到所有的li下标时 $("#num li").mouseover(function() { //获得当前li的下标 var index=$("#num li").index(this); //调用showImage()完成图片的滚动 showImage(index); }).eq(0).mouseover(); //加载页面时触发 var taskId; $("#d1").hover(function(){ //当鼠标移到图片上时停止滚动 clearInterval(taskId); },function(){ //当鼠标移走时开始滚动 taskId=setInterval(function(){ showImage(i); i++; if(i==5) i=0; },2000); }).mouseleave(); }); //完成图片的滚动 function showImage(index) { i=index; //执行当前的动画,如果之前的动画还没有完成,则立即清除之前的动画 $("#adv").stop(true).animate({ top : -177 * index }, 1000) //当前的li下标,高度显亮;并且使之前显亮的下标恢复原来的颜色 $("#num li").eq(index).addClass("on").siblings().removeClass("on"); } </script>
按 Ctrl+C 复制代码

转载于:https://www.cnblogs.com/aijindi/p/3868669.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值