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 相关文章推荐
解析John Resig Simple JavaScript Inheritance代码
Dec 03 Javascript
JavaScript加强之自定义callback示例
Sep 21 Javascript
javascript写的一个模拟阅读小说的程序
Apr 04 Javascript
js给网页加上背景音乐及选择音效的方法
Mar 03 Javascript
Redis基本知识、安装、部署、配置笔记
Mar 05 Javascript
简单的js计算器实现
Oct 26 Javascript
网页中的图片查看器viewjs使用方法
Jul 11 Javascript
Angular2环境搭建具体操作步骤(推荐)
Aug 04 Javascript
JS实现前端缓存的方法
Sep 21 Javascript
Vue.js实现可编辑的表格
Dec 11 Javascript
jquery实现简单拖拽效果
Jul 20 jQuery
Node.js利用Express实现用户注册登陆功能(推荐)
Oct 26 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
星际原理概述
2020/03/04 星际争霸
火影忍者:这才是千手柱间和扉间的真正死因,角都就比较搞笑了!
2020/03/10 日漫
PHP上传图片进行等比缩放可增加水印功能
2014/01/13 PHP
ThinkPHP上使用多说评论插件的方法
2014/10/31 PHP
php截取中文字符串函数实例
2015/02/23 PHP
PHP使用strtotime计算两个给定日期之间天数的方法
2015/03/18 PHP
JavaScript判断两种格式的输入日期的正确性的代码
2007/03/25 Javascript
javascript 表单验证常见正则
2009/09/28 Javascript
Javascript 检测键盘按键信息及键码值对应介绍
2013/01/03 Javascript
结合JQ1.9通过js正则判断各种浏览器版本的方法
2013/12/30 Javascript
Node.js 的异步 IO 性能探讨
2014/10/08 Javascript
Angular中$cacheFactory的作用和用法实例详解
2016/08/19 Javascript
vue实现留言板todolist功能
2017/08/16 Javascript
JavaScript之创意时钟项目(实例讲解)
2017/10/23 Javascript
vue实现简单的星级评分组件源码
2018/11/16 Javascript
vue.js路由mode配置之去掉url上默认的#方法
2019/11/01 Javascript
vue学习笔记之slot插槽基本用法实例分析
2020/02/01 Javascript
django基础之数据库操作方法(详解)
2017/05/24 Python
使用pyecharts在jupyter notebook上绘图
2020/04/23 Python
Python中int()函数的用法浅析
2017/10/17 Python
Django 连接sql server数据库的方法
2018/06/30 Python
python实现微信小程序用户登录、模板推送
2019/08/28 Python
PyQt5+python3+pycharm开发环境配置教程
2020/03/24 Python
python3中for循环踩过的坑记录
2020/12/14 Python
英文简历中的自我评价
2013/10/06 职场文书
医院后勤自我鉴定
2013/10/13 职场文书
英文版餐饮业求职信
2013/10/18 职场文书
车间班组长的职责
2013/12/13 职场文书
公务员转正考察材料
2014/02/07 职场文书
护士实习求职信
2014/06/22 职场文书
公司领导班子对照材料
2014/08/18 职场文书
2015年党员创先争优公开承诺书
2015/04/27 职场文书
学习社交礼仪心得体会
2016/01/22 职场文书
nginx配置proxy_pass中url末尾带/与不带/的区别详解
2021/03/31 Servers
JS异步堆栈追踪之为什么await胜过Promise
2021/04/28 Javascript
MySQL创建管理LIST分区
2022/04/13 MySQL