js jquery做的图片连续滚动代码


Posted in Javascript onJanuary 06, 2008

核心代码如下,大家可以参考

<script src="/js/jquery.js"></script>  
<script>  
$(document).ready(function(){         $(".bannerbutton li").each(  
                     function(){  
                            $(this).click(  
                                   function(){  
                                          bannerGo($(this).attr("num"));  
                                   }  
                            )  
                     }  
              )  
       $(".img li:last").html($(".img li:first").html());  
});  
var active=1;//当前显示第1个  
var picNum=4;//4个图转换  
var time=500;//移动速度  
var intTime=3000;//自动转换间隔时间  
var width=568; //图片宽  
var perDistance=57;//每次移动距离  
var tagObj=0;  
var marquee;  
var autoMarquee;  
var distance;  
var tmpDistance=0;  
var listLeft=0;  
var tagLeft=0;  
var move=false;  

function bannerGo(tag){  
       if(active != tag){  
              if(!move){  
              listLeft=parseInt($(".banner ul.img").css("left"));  
              distance=(tag-active)*width;  
              tmpDistance=0;  
              perTime=parseInt(time*perDistance/distance);  
              if(tag>active){  
                     tagLeft=listLeft-distance;  
                     marquee=setInterval("Marquee(1)",perTime)  
              }else{  
                     tagLeft=listLeft-distance;  
                     marquee=setInterval("Marquee(0)",perTime)  
              }  
              active=Number(tag);  
              if(active==picNum+1)  
                     active=1;  
              move=true;  
              }  
       }  
}  
function Marquee(t){  
       var x=false;  
       if(t==0){  
              listLeft=listLeft+perDistance;  
              if((tagLeft-listLeft)>=perDistance){  
                     $(".banner ul.img").css("left",listLeft+"px");  
              }else{  
                     $(".banner ul.img").css("left",tagLeft+"px");  
                     x=true;  
              }  
       }else{  
              listLeft=listLeft-perDistance;  
              if((tagLeft-listLeft)<=perDistance){  
                     $(".banner ul.img").css("left",listLeft+"px");  
              }else{  
                     $(".banner ul.img").css("left",tagLeft+"px");  
                     x=true;  
              }  
       }  
       if(x){  
              clearInterval(marquee);  
              tmpDistance=0;  
              listLeft=0;  
              tagLeft=0;  
              move=false;  
              $(".bannerbutton li").css("background","url(/images/index/b2.gif) no-repeat");  
              $(".bannerbutton li[@num="+active+"]").css("background","url(/images/index/b1.gif) no-repeat");  
              if(tagObj==picNum+1){  
              $(".banner ul.img").css("left","0");  
              active=1;  
              }  
       }  
}  
function autoMarquee(){  
       tagObj=Number(active)+1;  
       bannerGo(tagObj);  
}  
function autoMarqueeStart(){  
       if(!move){  
       marquee=setInterval("autoMarquee()",intTime)  
       }else{  
       setTimeout("autoMarqueeStart()",time);  
       }  
}  
autoMarqueeStart();  
</script>  
<style>  
*{margin:0;padding:0;border:0}  
li{float:left;}  
ul{list-style-type:none;}  
.banner{height:228px;width:568px;overflow:hidden;}  
.bannerbutton li{  
       width:23px;  
       height:22px;  
       background:url(/images/index/b2.gif) no-repeat;  
       cursor:pointer;  
       line-height:22px;  
       text-align: center;  
       color: #fff;  
       font-weight: bold;  
}  
.banner .img li{float:left;}  
.banner .img {  
       position: relative;width:5600px;  
}  
body,td,th {  
       font-size: 12px;  
}  
body {  
       margin-left: 0px;  
       margin-top: 0px;  
       margin-right: 0px;  
       margin-bottom: 0px;  
}  
</style>  
<div class="banner">  
        <ul class="bannerbutton" style="position:absolute;z-index:2;top:200px;;left:10px;">  
                                   <li num=1 style="background:url(/images/index/b2.gif);">1</li>  
                                   <li num=2>2</li>  
                                   <li num=3>3</li>  
                                   <li num=4>4</li>  
       </ul>  
  <ul class="img" style="left:0px;">  
                            <li><img src="/images/temp/bn1.jpg" width="568" height="228"></li>  
                            <li><img src="/upload/image/2007-11-17_17-30-42.jpg" width="568" height="228"></li>  
                            <li><img src="/upload/image/4bb7eaf902000mnl.jpg" width="568" height="228"></li>  
                            <li><img src="/upload/image/Products/2007-11-16_22-11-15.jpg" width="568" height="228"></li>  
                            <li></li>  
   </ul>  
</div>
Javascript 相关文章推荐
jquery插件 autoComboBox 下拉框
Dec 22 Javascript
jquery 中的each()跳出循环的语句
May 23 Javascript
javascript html5 canvas实现可拖动省份的中国地图
Mar 11 Javascript
Js+Ajax,Get和Post在使用上的区别小结
Jun 08 Javascript
JavaScript自定义浏览器滚动条兼容IE、 火狐和chrome
Jan 05 Javascript
微信小程序开发(二)图片上传+服务端接收详解
Jan 11 Javascript
javascript帧动画(实例讲解)
Sep 02 Javascript
Vue.js实现列表清单的操作方法
Nov 15 Javascript
JavaScript学习笔记之数组基本操作示例
Jan 09 Javascript
JS实现可用滑块滑动的缓动图代码
Sep 01 Javascript
Cordova(ionic)项目实现双击返回键退出应用
Sep 17 Javascript
Vue Element校验validate的实例
Sep 21 Javascript
javascript 屏蔽鼠标键盘的几段代码
Jan 02 #Javascript
js获取url参数的使用扩展实例
Dec 29 #Javascript
javascript js cookie的存储,获取和删除
Dec 29 #Javascript
javascript下function声明一些小结
Dec 28 #Javascript
用js实现的页面关键字密度查询代码
Dec 27 #Javascript
DOMAssitant最新版 DOMAssistant 2.5发布
Dec 25 #Javascript
用cookies实现的可记忆的样式切换效果代码下载
Dec 24 #Javascript
You might like
php将数据库导出成excel的方法
2010/05/07 PHP
php文件上传的例子及参数详解
2013/12/12 PHP
淘宝ip地址查询类分享(利用淘宝ip库)
2014/01/07 PHP
浅谈php中curl、fsockopen的应用
2016/12/10 PHP
yii gridview实现时间段筛选功能
2017/08/15 PHP
PHP反射基础知识回顾
2020/09/10 PHP
js调用css属性写法
2013/09/21 Javascript
jquery退出each循环的写法
2014/02/26 Javascript
javascript制作的网页侧边弹出框思路及实现代码
2014/05/21 Javascript
javascript框架设计读书笔记之模块加载系统
2014/12/02 Javascript
深入理解JavaScript系列(35):设计模式之迭代器模式详解
2015/03/03 Javascript
jQuery实现产品对比功能附源码下载
2016/08/09 Javascript
jQuery鼠标事件总结
2016/10/13 Javascript
详解vue-router2.0动态路由获取参数
2017/06/14 Javascript
jQuery实现的点击标题文字切换字体效果示例【测试可用】
2018/04/26 jQuery
简述vue-cli中chainWebpack的使用方法
2019/07/30 Javascript
Vue登录主页动态背景短视频制作
2019/09/21 Javascript
Nodejs封装类似express框架的路由实例详解
2020/01/05 NodeJs
[01:47]2018年度DOTA2最具人气解说-完美盛典
2018/12/16 DOTA
[16:01]夜魇凡尔赛茶话会 第二期01:你比划我猜
2021/03/11 DOTA
在Windows8上的搭建Python和Django环境
2014/07/03 Python
Python魔术方法详解
2015/02/14 Python
Python获取服务器信息的最简单实现方法
2015/03/05 Python
Python读写txt文本文件的操作方法全解析
2016/06/26 Python
python使用logging模块发送邮件代码示例
2018/01/18 Python
python中实现数组和列表读取一列的方法
2018/04/03 Python
Python字符串匹配之6种方法的使用详解
2019/04/08 Python
python操作redis数据库的三种方法
2020/09/10 Python
档案接收函
2014/01/13 职场文书
连锁酒店店长职责范本
2014/02/13 职场文书
婚礼主持结束词
2014/03/13 职场文书
供用电专业求职信
2014/07/07 职场文书
交警失职检讨书
2015/01/26 职场文书
行政司机岗位职责
2015/04/10 职场文书
入党积极分子培养人意见
2015/06/02 职场文书
英语导游欢迎词
2015/09/30 职场文书