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 相关文章推荐
ExtJS 2.0实用简明教程 之Ext类库简介
Apr 29 Javascript
浅析函数声明和函数表达式——函数声明的声明提前
May 03 Javascript
JavaScript中对JSON对象的基本操作示例
May 21 Javascript
jQuery实现的简单拖动层示例
Feb 22 Javascript
jQuery简单实现遍历单选框的方法
Mar 06 Javascript
第一个Vue插件从封装到发布
Nov 22 Javascript
ES6 Generator函数的应用实例分析
Jun 26 Javascript
原生JS无缝滑动轮播图
Oct 22 Javascript
javascript 高级语法之继承的基本使用方法示例
Nov 11 Javascript
基于better-scroll 实现歌词联动功能的代码
May 07 Javascript
微信小程序清空输入框信息与实现屏幕往上滚动的示例代码
Jun 23 Javascript
原生js实现购物车功能
Sep 23 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 禁止页面缓存输出
2009/01/07 PHP
破解.net程序(dll文件)编译和反编译方法
2013/01/31 PHP
zf框架的zend_cache缓存使用方法(zend框架)
2014/03/14 PHP
php强大的时间转换函数strtotime
2016/02/18 PHP
细品javascript 寻址,闭包,对象模型和相关问题
2009/04/27 Javascript
javascript 三种方法实现获得和设置以及移除元素属性
2013/03/20 Javascript
JS实现网页Div层Clone拖拽效果
2015/09/26 Javascript
JQuery日历插件My97DatePicker日期范围限制
2016/01/20 Javascript
animate 实现滑动切换效果【实例代码】
2016/05/05 Javascript
微信js-sdk上传与下载图片接口用法示例
2016/10/12 Javascript
d3.js中冷门却实用的内置函数总结
2017/02/04 Javascript
React学习笔记之事件处理(二)
2017/07/02 Javascript
利用node.js+mongodb如何搭建一个简单登录注册的功能详解
2017/07/30 Javascript
vue todo-list组件发布到npm上的方法
2018/04/04 Javascript
详解Vue打包优化之code spliting
2018/04/09 Javascript
使用JS判断移动端手机横竖屏状态
2018/07/30 Javascript
vue.js+element-ui动态配置菜单的实例
2018/09/07 Javascript
微信小程序学习笔记之目录结构、基本配置图文详解
2019/03/28 Javascript
Element PageHeader页头的使用方法
2020/07/26 Javascript
vue-列表下详情的展开与折叠案例
2020/07/28 Javascript
[00:44]TI7不朽珍藏III——军团指挥官不朽展示
2017/07/15 DOTA
详解Python中内置的NotImplemented类型的用法
2015/03/31 Python
python操作mysql数据库
2017/03/05 Python
Python+tkinter使用40行代码实现计算器功能
2018/01/30 Python
Python企业编码生成系统之主程序模块设计详解
2019/07/26 Python
python lambda函数及三个常用的高阶函数
2020/02/05 Python
Python切割图片成九宫格的示例代码
2020/03/10 Python
Django模板标签{% for %}循环,获取制定条数据实例
2020/05/14 Python
Django Model中字段(field)的各种选项说明
2020/05/19 Python
Python3如何使用range函数替代xrange函数
2020/10/05 Python
ECCO爱步官方旗舰店:丹麦鞋履品牌
2018/01/02 全球购物
世界上第一个创建了罩杯系统的美国内衣品牌:Maidenform
2019/03/23 全球购物
酒店保安员岗位职责
2014/01/31 职场文书
光荣之路观后感
2015/06/12 职场文书
写作技巧:怎样写好一份优秀工作总结?
2019/08/14 职场文书
MySQL8.0.24版本Release Note的一些改进点
2021/04/22 MySQL