jQuery实现的多张图无缝滚动效果【测试可用】


Posted in Javascript onSeptember 12, 2016

本文实例讲述了jQuery实现的多张图无缝滚动效果。分享给大家供大家参考,具体如下:

<!doctype html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>slider</title>
<style>
*{
  padding: 0;
  margin: 0;
}
li{
  list-style-type: none;
}
body{
  margin: 50px;
}
.wrap{
  border: 3px solid #f00;
  width: 600px;
  height: 200px;
  position: relative;
  overflow: hidden;
}
.wrap ul{
  overflow: hidden;
  position:absolute;
  width: 1600px;
  left: 0;
  top: 0;
  _height:1px;
}
.wrap ul li{
  float: left;
  width: 200px;
}
</style>
</head>
<body>
<a href="javascript:;" class="goLeft">向左走</a>
<a href="javascript:;" class="goRight">向右走</a>
<div class="wrap">
  <ul>
    <li><img src="1.jpg" alt=""></li>
    <li><img src="2.jpg" alt=""></li>
    <li><img src="3.jpg" alt=""></li>
    <li><img src="4.jpg" alt=""></li>
    <li><img src="5.jpg" alt=""></li>
  </ul>
</div>
<script src="jquery-1.7.2.min.js"></script>
<script src="slider.js"></script>
</body>
</html>

slider.js

// 如果想要使一个元素运动起来,一般情况下这个元素须要具有position属性absolute/relative
$(function(){
  var oul = $('.wrap ul');
  var oulHtml = oul.html();
  oul.html(oulHtml+oulHtml)
  var timeId = null;
  var ali = $('.wrap ul li');
  var aliWidth = ali.eq(0).width();
  var aliSize = ali.size();
  var ulWidth = aliWidth*aliSize;
  oul.width(ulWidth); //1600px
  var speed = 2;
  function slider(){
    if(speed<0){
      if(oul.css('left')==-ulWidth/2+'px'){
      oul.css('left',0);
      }
      oul.css('left','+=-2px');
    }
    if(speed>0){
      if(oul.css('left')=='0px'){
      oul.css('left',-ulWidth/2+'px');
      }
      oul.css('left','+='+speed+'px');
    }
   }
  // setInterval()函数的作用是:每隔一段时间,执行该函数里的代码
   timeId = setInterval(slider,30);
  $('.wrap').mouseover(function(){
    // clearInterval()函数的作用是用来清除定时器
    clearInterval(timeId);
  });
  $('.wrap').mouseout(function(){
    timeId = setInterval(slider,30);
  });
  $('.goLeft').click(function(){
    speed=-2;
  });
  $('.goRight').click(function(){
    speed=2;
  });
});

效果图如下:

jQuery实现的多张图无缝滚动效果【测试可用】

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
轻量级 JS ToolTip提示效果
Jul 20 Javascript
JS操作select下拉框动态变动(创建/删除/获取)
Jun 02 Javascript
javascript版2048小游戏
Mar 18 Javascript
AngularJS实现分页显示数据库信息
Jul 01 Javascript
JQuery 设置checkbox值二次无效的解决方法
Jul 22 Javascript
工作中常用的js、jquery自定义扩展函数代码片段汇总
Dec 22 Javascript
canvas实现爱心和彩虹雨效果
Mar 09 Javascript
详谈构造函数加括号与不加括号的区别
Oct 26 Javascript
关于angularJs清除浏览器缓存的方法
Nov 28 Javascript
JS 使用 window对象的print方法实现分页打印功能
May 16 Javascript
详解vue中的computed的this指向问题
Dec 05 Javascript
详解vuex之store源码简单解析
Jun 13 Javascript
初识简单却不失优雅的Vue.js
Sep 12 #Javascript
jQuery实现简单的tab标签页效果
Sep 12 #Javascript
深入探讨Vue.js组件和组件通信
Sep 12 #Javascript
前端框架Vue.js中Directive知识详解
Sep 12 #Javascript
前端框架Vue.js构建大型应用浅析
Sep 12 #Javascript
jQuery过滤选择器用法示例
Sep 12 #Javascript
强大Vue.js组件浅析
Sep 12 #Javascript
You might like
通过源码解析Laravel的依赖注入
2018/01/22 PHP
PHP延迟静态绑定使用方法实例解析
2020/09/05 PHP
google jQuery 引用文件,jQuery 引用地址集合(jquery 1.2.6至jquery1.5.2)
2011/04/24 Javascript
JavaScript中的私有/静态属性介绍
2012/07/26 Javascript
对frameset、frame、iframe的js操作示例代码
2013/08/16 Javascript
node.js中的fs.fchownSync方法使用说明
2014/12/16 Javascript
JavaScript设计模式之工厂模式和构造器模式
2015/02/11 Javascript
avalon js实现仿微博拖动图片排序
2015/08/14 Javascript
原生js和jQuery实现淡入淡出轮播效果
2015/12/25 Javascript
URL的参数中有加号传值变为空格的问题(URL特殊字符)
2016/11/04 Javascript
jquery与ajax获取特殊字符实例详解
2017/01/08 Javascript
jQuery简易时光轴实现方法示例
2017/03/13 Javascript
vue中路由参数传递可能会遇到的坑
2017/12/07 Javascript
vue中使用axios post上传头像/图片并实时显示到页面的方法
2018/09/27 Javascript
微信小程序实现带参数的分享功能(两种方法)
2019/05/17 Javascript
JS实现动态星空背景效果
2019/11/01 Javascript
js实现选项卡效果
2020/03/07 Javascript
[03:20]次级联赛厮杀超职业 现超级兵对拆世纪大战
2014/10/30 DOTA
[01:04:35]2018DOTA2亚洲邀请赛 4.3 突围赛 Secret vs VG 第一场
2018/04/04 DOTA
Python多线程编程简单介绍
2015/04/13 Python
Python如何实现守护进程的方法示例
2017/02/08 Python
virtualenv实现多个版本Python共存
2017/08/21 Python
使用Flask集成bootstrap的方法
2018/07/24 Python
Python爬虫框架scrapy实现的文件下载功能示例
2018/08/04 Python
详解python和matlab的优势与区别
2019/06/28 Python
python 申请内存空间,用于创建多维数组的实例
2019/12/02 Python
TensorFlow使用Graph的基本操作的实现
2020/04/22 Python
Python基于time模块表示时间常用方法
2020/06/18 Python
HTML5之多线程(Web Worker)
2019/01/02 HTML / CSS
蒙蒂塞罗商店:Monticello Shop
2018/11/25 全球购物
英国的领先快速时尚零售商:In The Style
2019/03/25 全球购物
火锅店营销方案
2014/02/26 职场文书
正风肃纪剖析材料
2014/09/30 职场文书
人与自然的观后感
2015/06/18 职场文书
应收账款管理制度
2015/08/06 职场文书
基于Java的MathML转图片的方法(示例代码)
2021/06/23 Java/Android