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解析获取JSON数据
Apr 08 jQuery
jquery easyui如何实现格式化列
Jul 30 jQuery
基于jquery实现五星好评
Nov 18 jQuery
jQuery实现左右滑动的toggle方法
Mar 03 jQuery
jquery.onoff实现简单的开关按钮功能(推荐)
May 24 jQuery
jQuery的Ajax接收java返回数据方法
Aug 11 jQuery
深入浅析angular和vue还有jquery的区别
Aug 13 jQuery
jQuery仿移动端支付宝键盘的实现代码
Aug 15 jQuery
jQuery实现移动端图片上传预览组件的方法分析
May 01 jQuery
jQuery 实现DOM元素拖拽交换位置的实例代码
Jul 14 jQuery
jQuery+ThinkPHP实现图片上传
Jul 23 jQuery
jQuery实现动态向上滚动
Dec 21 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制作静态网站的模板框架(二)
2006/10/09 PHP
PHP 变量类型的强制转换
2009/10/23 PHP
浅析虚拟主机服务器php fsockopen函数被禁用的解决办法
2013/08/07 PHP
实现PHP多线程异步请求的3种方法
2014/01/17 PHP
thinkphp常见路径用法分析
2014/12/02 PHP
smarty内置函数{loteral}、{ldelim}和{rdelim}用法实例
2015/01/22 PHP
php版微信小店API二次开发及使用示例
2016/11/12 PHP
php处理抢购类功能的高并发请求
2018/02/08 PHP
PHP实现简易计算器功能
2020/08/28 PHP
setTimeout的延时为0时多个浏览器的区别
2012/05/23 Javascript
Jquery解析json数据详解
2013/12/26 Javascript
JavaScript中合并数组的N种方法
2014/09/16 Javascript
jQuery实现锚点scoll效果实例分析
2015/03/10 Javascript
JavaScript中的getTimezoneOffset()方法使用详解
2015/06/10 Javascript
javascript单页面手势滑屏切换原理详解
2016/03/21 Javascript
SWFUpload多文件上传及文件个数限制的方法
2016/05/31 Javascript
checkbox 选中一个另一个checkbox也会选中的实现代码
2016/07/09 Javascript
EasyUi 打开对话框后控件赋值及赋值后不显示的问题解决办法
2017/01/19 Javascript
微信小程序实现图片上传功能
2018/05/28 Javascript
解决vue select当前value没有更新到vue对象属性的问题
2018/08/30 Javascript
javascript的hashCode函数实现代码小结
2020/08/11 Javascript
[06:01]刀塔次级联赛top10第一期
2014/11/07 DOTA
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
Go/Python/Erlang编程语言对比分析及示例代码
2018/04/23 Python
浅谈python函数调用返回两个或多个变量的方法
2019/01/23 Python
PyQt5 实现字体大小自适应分辨率的方法
2019/06/18 Python
Tensorflow 实现将图像与标签数据转化为tfRecord文件
2020/02/17 Python
opencv+python实现均值滤波
2020/02/19 Python
Python 高效编程技巧分享
2020/09/10 Python
Jupyter安装拓展nbextensions及解决官网下载慢的问题
2021/03/03 Python
德国二手设计师时装和复古时装跳蚤市场:Mädchenflohmarkt
2020/11/09 全球购物
2014自荐信的写作技巧
2014/01/28 职场文书
打架检讨书2000字
2014/02/22 职场文书
自主招生英文自荐信
2015/03/25 职场文书
行政上诉状范文
2015/05/23 职场文书
只需要这一行代码就能让python计算速度提高十倍
2021/05/24 Python