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 相关文章推荐
使用户点击后退按钮使效三行代码
Jul 07 Javascript
Grid得到选择行数据的方法总结
Jan 17 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
jquery左右滚动焦点图banner图片鼠标经过显示上下页按钮
Oct 11 Javascript
javascript进行数组追加方法小结
Jun 16 Javascript
优化Node.js Web应用运行速度的10个技巧
Sep 03 Javascript
window.location的重写及判断location是否被重写
Sep 04 Javascript
原生js代码实现图片放大境效果
Oct 30 Javascript
webpack项目调试以及独立打包配置文件的方法
Feb 28 Javascript
vue.js引入外部CSS样式和外部JS文件的方法
Jan 06 Javascript
JavaScript实现轮播图效果代码实例
Sep 28 Javascript
JavaScript单线程和任务队列原理解析
Feb 04 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 ignore_user_abort与register_shutdown_function 使用方法
2009/06/14 PHP
PHP 彩色文字实现代码
2009/06/29 PHP
php和js如何通过json互相传递数据相关问题探讨
2013/02/26 PHP
thinkphp框架使用JWTtoken的方法详解
2019/10/10 PHP
JQuery实现的在新窗口打开链接的方法小结
2010/04/22 Javascript
javascript的渐进增强与平稳退化浅谈
2013/11/12 Javascript
用javascript读取xml文件读取节点数据
2014/08/12 Javascript
JQuery 给元素绑定click事件多次执行的解决方法
2014/09/09 Javascript
JavaScript从数组中删除指定值元素的方法
2015/03/18 Javascript
JS版元素周期表实现方法
2015/08/05 Javascript
AngularJS入门之动画
2016/07/27 Javascript
Bootstrap基本样式学习笔记之表单(3)
2016/12/07 Javascript
JS实现浏览器打印、打印预览示例
2017/02/28 Javascript
用node-webkit把web应用打包成桌面应用(windows环境)
2018/02/01 Javascript
JavaScript中字符串的常用操作方法及特殊字符
2018/03/18 Javascript
Vue.js中的computed工作原理
2018/03/22 Javascript
vue-cli监听组件加载完成的方法
2018/09/07 Javascript
vue 利用路由守卫判断是否登录的方法
2018/09/29 Javascript
angular 未登录状态拦截路由跳转的方法
2018/10/09 Javascript
axios封装,使用拦截器统一处理接口,超详细的教程(推荐)
2019/05/02 Javascript
原生Vue 实现右键菜单组件功能
2019/12/16 Javascript
vue.js实现简单的计算器功能
2020/02/22 Javascript
JS array数组检测方式解析
2020/05/19 Javascript
Python模块学习 filecmp 文件比较
2012/08/27 Python
Python时区设置方法与pytz查询时区教程
2013/11/27 Python
Python反射的用法实例分析
2018/02/11 Python
python创建文件时去掉非法字符的方法
2018/10/31 Python
详解django自定义中间件处理
2018/11/21 Python
对sklearn的使用之数据集的拆分与训练详解(python3.6)
2018/12/14 Python
在Pycharm中自动添加时间日期作者等信息的方法
2019/01/16 Python
Python的历史与优缺点整理
2020/05/26 Python
美国家居装饰购物网站:Amanda Lindroth
2020/03/25 全球购物
电子商务专业毕业生工作推荐信
2013/11/17 职场文书
婚礼主持结束词
2014/03/13 职场文书
2015年教师教学工作总结
2015/04/28 职场文书
如何正确理解python装饰器
2021/06/15 Python