jquery实现图片平滑滚动详解


Posted in jQuery onMarch 22, 2017

本文实例为大家分享了jquery图片平滑滚动效果的具体代码,供大家参考,具体内容如下

随便写了个DOM,没有美观性,见谅

jquery实现图片平滑滚动详解

原理:

1、定义两组ul列表放图,第一个ul放5张图,第二个ul为空
2、为什么要用两个ul?因为要用到jQuery的克隆方法clone()。把第一个ul的图片全部克隆到第二个ul中,形成并列无缝滚动效果
3、.box设置为绝对定位,.wrap设置为相对定位
4、设置定时器,让.box的left值一直减-,当left值大于第一个ul的长度时,让他left等于0,然后再重新重置定时器,继续执行

代码部分:

//CSS

*{margin: 0;padding: 0}
ul{list-style: none}
.box ul li{display: block;float: left;width: 300px;height: 300px;margin-right: -1px;background-size: cover;background-position: center center;}
.box{height: 300px;width:3010px;}
#box1,#box2{float: left}
.wrap{position: relative;width: 800px;margin: auto;height: 300px;overflow: hidden}
.box{position: absolute;left: 0;}

//HTML

<body>
  <div class="wrap">
    <div class="box">
      <ul id="box1">
        <li style="background:url(images/1.jpg) no-repeat"></li>
        <li style="background:url(images/2.jpg) no-repeat"></li>
        <li style="background:url(images/3.jpg) no-repeat"></li>
        <li style="background:url(images/4.jpg) no-repeat"></li>
        <li style="background:url(images/5.jpg) no-repeat"></li>
      </ul>
      <ul id="box2"></ul>
    </div>
  </div>
</body>

//JQUERY

<script>
  var timer='';//设置一个定时器
  var $box1=$('#box1').children().clone(true);/*克隆box1的子元素*/
  $('#box2').append($box1);//将复制的元素插入到#box2中
  var $left=parseInt($('.box').css('left'));//获取.box的left值
  var scroll=function(){
    $left-=2;//设置滚动速度为2
    $('.box').css('left',$left+'px');//left赋值
    if($left<-1500){//当box值小于-1500px时,重置.box left值为0;
      $('.box').css('left','0');
      $left=0;
    }
    timer =setTimeout(scroll,30);
  }
  setTimeout(scroll,100);
  $('.wrap').hover(function(){
    clearTimeout(timer);
  },function(){
    setTimeout(scroll,100);
  });
</script>

主要是理解思路,思路理清了,相信你不用看dom都会做了。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

jQuery 相关文章推荐
jQuery Masonry瀑布流布局神器使用详解
May 25 jQuery
jQuery实现表格冻结顶栏效果
Aug 20 jQuery
zTree jQuery 树插件的使用(实例讲解)
Sep 25 jQuery
springmvc接收jquery提交的数组数据代码分享
Oct 28 jQuery
jquery中有哪些api jQuery主要API
Nov 20 jQuery
jQuery简单实现向列表动态添加新元素的方法示例
Dec 25 jQuery
jQuery+Cookie实现切换皮肤功能【附源码下载】
Mar 25 jQuery
jQuery pjax 应用简单示例
Sep 20 jQuery
jQuery+ajax实现批量删除功能完整示例
Jun 06 jQuery
如何使用CSS3+JQuery实现悬浮墙式菜单
Jun 18 jQuery
jQuery中DOM操作原则实例分析
Aug 01 jQuery
jQuery Raty星级评分插件使用方法实例分析
Nov 25 jQuery
jQuery轻松实现无缝轮播效果
Mar 22 #jQuery
jQuery插件FusionCharts绘制ScrollColumn2D图效果示例【附demo源码下载】
Mar 22 #jQuery
jQuery+ThinkPHP+Ajax实现即时消息提醒功能实例代码
Mar 21 #jQuery
jQuery插件HighCharts绘制简单2D柱状图效果示例【附demo源码】
Mar 21 #jQuery
jQuery插件HighCharts绘制简单2D折线图效果示例【附demo源码】
Mar 21 #jQuery
jQuery插件HighCharts绘制2D饼图效果示例【附demo源码下载】
Mar 21 #jQuery
使用jQuery监听扫码枪输入并禁止手动输入的实现方法(推荐)
Mar 21 #jQuery
You might like
php自定文件保存session的方法
2014/12/10 PHP
PHP实现动态web服务器方法
2015/07/29 PHP
PHP实现JS中escape与unescape的方法
2016/07/11 PHP
jQuery 核心函数以及jQuery对象
2010/03/23 Javascript
ExtJs事件机制基本代码模型和流程解析
2010/10/24 Javascript
Javascript学习笔记-详解in运算符
2011/09/13 Javascript
如何让页面在打开时自动刷新一次让图片全部显示
2012/12/17 Javascript
很好用的js日历算法详细代码
2013/03/07 Javascript
extjs中form与grid交互数据(record)的方法
2013/08/29 Javascript
JS判断客户端是手机还是PC的2个代码
2014/04/12 Javascript
javascript对中文按照拼音排序代码
2014/08/20 Javascript
纯CSS3代码实现滑动开关效果
2015/08/19 Javascript
vue音乐播放器插件vue-aplayer的配置及其使用实例详解
2017/07/10 Javascript
Mac 安装 nodejs方法(图文详细步骤)
2017/10/30 NodeJs
Ionic学习日记实现验证码倒计时
2018/02/08 Javascript
vue-cli 默认路由再子路由选中下的选中状态问题及解决代码
2018/09/06 Javascript
vue设计一个倒计时秒杀的组件详解
2019/04/06 Javascript
解决Nuxt使用axios跨域问题
2020/07/06 Javascript
基于js实现的图片拖拽排序源码实例
2020/11/04 Javascript
跟老齐学Python之dict()的操作方法
2014/09/24 Python
对于Python中线程问题的简单讲解
2015/04/03 Python
python绘制热力图heatmap
2020/03/23 Python
python游戏开发之视频转彩色字符动画
2019/04/26 Python
Python opencv实现人眼/人脸识别以及实时打码处理
2019/04/29 Python
python+jinja2实现接口数据批量生成工具
2019/08/28 Python
将 Ubuntu 16 和 18 上的 python 升级到最新 python3.8 的方法教程
2020/03/11 Python
Python多线程操作之互斥锁、递归锁、信号量、事件实例详解
2020/03/24 Python
Python使用lambda抛出异常实现方法解析
2020/08/20 Python
荷兰网上药店:Drogisterij.net
2019/09/03 全球购物
什么是SQL Server的确定性函数和不确定性函数
2016/08/04 面试题
配置管理计划的主要内容有哪些
2014/06/20 面试题
GWT (Google Web Toolkit)有哪些主要的原件组成?
2015/06/08 面试题
酒吧副总经理岗位职责
2013/12/10 职场文书
旅游安全责任协议书
2016/03/22 职场文书
MySQL数据库中的锁、解锁以及删除事务
2022/05/06 MySQL
python 使用pandas读取csv文件的方法
2022/12/24 Python