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使用eraser.js插件实现擦除、刮刮卡效果的方法【附eraser.js下载】
Apr 28 jQuery
jQuery插件select2利用ajax高效查询大数据列表(可搜索、可分页)
May 19 jQuery
jQuery实现的粘性滚动导航栏效果实例【附源码下载】
Oct 19 jQuery
jQuery图片加载失败替换默认图片方法汇总
Nov 29 jQuery
jQuery 实现批量提交表格多行数据的方法
Aug 09 jQuery
jquery获取img的src值实例介绍
Jan 16 jQuery
jQuery中each和js中forEach的区别分析
Feb 27 jQuery
基于 jQuery 实现键盘事件监听控件
Apr 04 jQuery
jquery.pager.js实现分页效果
Jul 29 jQuery
JQuery实现ul中添加LI和删除指定的Li元素功能完整示例
Oct 16 jQuery
如何使用Jquery动态生成二级选项列表
Feb 06 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
服务器端解压缩zip的脚本
2006/12/22 PHP
php设置session值和cookies的学习示例
2014/03/21 PHP
php检查日期函数checkdate用法实例
2015/03/19 PHP
PHP数组实例详解
2016/06/26 PHP
详解php中 === 的使用
2016/10/24 PHP
Laravel框架自定义公共函数的引入操作示例
2019/04/16 PHP
酷! 不同风格页面布局幻灯片特效js实现
2021/02/19 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
JS中位置与大小的获取方法
2016/11/22 Javascript
Parcel 打包示例(React HelloWorld)
2018/01/16 Javascript
node.js使用 http-proxy 创建代理服务器操作示例
2020/02/10 Javascript
Vue3 的响应式和以前有什么区别,Proxy 无敌?
2020/05/20 Javascript
ElementUI 修改默认样式的几种办法(小结)
2020/07/29 Javascript
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
[01:13:51]TNC vs Serenity 2018国际邀请赛小组赛BO2 第二场 8.18
2018/08/19 DOTA
十条建议帮你提高Python编程效率
2016/02/16 Python
Python基于Tkinter模块实现的弹球小游戏
2018/12/27 Python
Python中extend和append的区别讲解
2019/01/24 Python
django配置连接数据库及原生sql语句的使用方法
2019/03/03 Python
python替换字符串中的子串图文步骤
2019/06/19 Python
python字典的常用方法总结
2019/07/31 Python
Python实现搜索算法的实例代码
2020/01/02 Python
python的Jenkins接口调用方式
2020/05/12 Python
如何基于Python爬取隐秘的角落评论
2020/07/02 Python
CSS3实现同时执行倾斜和旋转的动画效果
2016/10/27 HTML / CSS
HTML高亮关键字的实现代码
2018/10/22 HTML / CSS
90后毕业生的求职信范文
2013/09/21 职场文书
承办会议欢迎词
2014/01/17 职场文书
小学岗位竞聘方案
2014/01/22 职场文书
先进事迹报告会感言
2014/01/24 职场文书
《小蝌蚪找妈妈》教学反思
2014/02/21 职场文书
报关专员求职信范文
2014/02/22 职场文书
西式结婚主持词
2014/03/14 职场文书
2014年征兵标语
2014/06/20 职场文书
公司人事管理制度
2015/08/05 职场文书
详解Vue的options
2021/05/15 Vue.js