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插件FusionCharts绘制的3D环饼图效果示例【附demo源码】
Apr 02 jQuery
Jquery把获取到的input值转换成json
May 15 jQuery
jQuery正则验证注册页面经典实例
Jun 10 jQuery
详谈表单格式化插件jquery.serializeJSON
Jun 23 jQuery
jQuery实现对网页节点的增删改查功能示例
Sep 18 jQuery
基于jQuery Ajax实现下拉框无刷新联动
Dec 06 jQuery
jQuery 导航自动跟随滚动的实现代码
May 30 jQuery
使用jquery DataTable和ajax向页面显示数据列表的方法
Aug 09 jQuery
jQuery实现为table表格动态添加或删除tr功能示例
Feb 19 jQuery
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 jQuery
jQuery实现颜色打字机的完整代码
Mar 19 jQuery
JQuery表单元素取值赋值方法总结
May 12 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配置php-fpm启动参数及配置详解
2013/11/04 PHP
php静态成员方法和静态的成员属性的使用方法
2017/10/26 PHP
PHP 对象接口简单实现方法示例
2020/04/13 PHP
用js查找法实现当前栏目的高亮显示的代码
2007/11/24 Javascript
jQuery 遍历json数组的实现代码
2020/09/22 Javascript
Javascript中自动切换焦点实现代码
2012/12/15 Javascript
一个页面放2段图片滚动代码出现冲突的问题如何解决
2012/12/21 Javascript
javascript生成随机颜色示例代码
2014/05/05 Javascript
jquery中toggle函数交替使用问题
2015/06/22 Javascript
jQuery添加删除DOM元素方法详解
2016/01/18 Javascript
基于JavaScript实现轮播图代码
2016/07/14 Javascript
D3.js中强制异步文件读取同步的几种方法
2017/02/06 Javascript
防止页面url缓存中ajax中post请求的处理方法
2017/10/10 Javascript
通过一个简单的例子学会vuex与模块化
2017/11/22 Javascript
详解Vue前端对axios的封装和使用
2019/04/01 Javascript
[02:54]DOTA2亚洲邀请赛 VG战队出场宣传片
2015/02/07 DOTA
[52:36]VGJ.S vs Serenity 2018国际邀请赛小组赛BO2 第一场 8.19
2018/08/21 DOTA
Python中使用第三方库xlrd来读取Excel示例
2015/04/05 Python
Python 两个列表的差集、并集和交集实现代码
2016/09/21 Python
Python连接PostgreSQL数据库的方法
2016/11/28 Python
对python创建及引用动态变量名的示例讲解
2018/11/10 Python
对python实现二维函数高次拟合的示例详解
2018/12/29 Python
Python秒算24点实现及原理详解
2019/07/29 Python
python 多维高斯分布数据生成方式
2019/12/09 Python
Python实现隐马尔可夫模型的前向后向算法的示例代码
2019/12/31 Python
Python3爬虫中关于中文分词的详解
2020/07/29 Python
python drf各类组件的用法和作用
2021/01/12 Python
HTML5 Blob 实现文件下载功能的示例代码
2019/11/29 HTML / CSS
介绍一下grep命令的使用
2015/06/12 面试题
大学生专科学习生活的自我评价
2013/12/07 职场文书
会计专业毕业生求职信分享
2014/01/03 职场文书
业务员自荐信范文
2014/04/20 职场文书
卫生标语大全
2014/06/21 职场文书
服务行业标语口号
2015/12/26 职场文书
Pandas搭配lambda组合使用详解
2022/01/22 Python
SQL Server Agent 服务无法启动
2022/04/20 SQL Server