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实现全选、全不选以及单选功能
Mar 23 jQuery
jQuery用noConflict代替$的实现方法
Apr 12 jQuery
jQuery操作DOM_动力节点Java学院整理
Jul 04 jQuery
jQuery 实现图片的依次加载图片功能
Jul 06 jQuery
简单实现jQuery手风琴效果
Aug 18 jQuery
jQuery 1.9版本以上的浏览器判断方法代码分享
Aug 28 jQuery
jQuery实现checkbox即点即改批量删除及中间遇到的坑
Nov 11 jQuery
jquery的 filter()方法使用教程
Mar 22 jQuery
jQuery简单实现根据日期计算星期几的方法
Jan 09 jQuery
JavaScript前端页面搜索功能案例【基于jQuery】
Jul 10 jQuery
jquery 回调操作实例分析【回调成功与回调失败的情况】
Sep 27 jQuery
jQuery treeview树形结构应用
Mar 24 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
windows下开发并编译PHP扩展的方法
2011/03/18 PHP
PHP获取文件绝对路径的代码(上一级目录)
2011/05/29 PHP
PHP环境中Memcache的安装和使用
2015/11/05 PHP
Discuz论坛密码与密保加密规则
2016/12/19 PHP
php格式文件打开的四种方法
2018/02/24 PHP
HR vs ForZe BO3 第二场 2.13
2021/03/10 DOTA
导入extjs、jquery 文件时$使用冲突问题解决方法
2014/01/14 Javascript
JS方法调用括号的问题探讨
2014/01/24 Javascript
关于javascript模块加载技术的一些思考
2014/11/28 Javascript
javascript数组去重方法汇总
2015/04/23 Javascript
JavaScript使用DeviceOne开发实战(三)仿微信应用
2015/12/02 Javascript
Javascript设计模式之观察者模式(推荐)
2016/03/29 Javascript
Javascript中判断一个值是否为undefined的方法详解
2016/09/28 Javascript
从零开始学习Node.js系列教程之设置HTTP头的方法示例
2017/04/13 Javascript
jQuery实现注册会员时密码强度提示信息功能示例
2017/09/05 jQuery
小程序文字跑马灯效果
2018/12/28 Javascript
vue+moment实现倒计时效果
2019/08/26 Javascript
VUE+elementui面包屑实现动态路由详解
2019/11/04 Javascript
python3爬取各类天气信息
2018/02/24 Python
python pandas实现excel转为html格式的方法
2018/10/23 Python
浅谈Tensorflow 动态双向RNN的输出问题
2020/01/20 Python
GoDaddy英国:全球排名第一的域名注册商
2018/06/08 全球购物
美国值得信赖的婚恋交友网站:eHarmony
2018/10/04 全球购物
巴西本土电商平台:Americanas
2020/06/21 全球购物
机械设计职业生涯规划书
2013/12/27 职场文书
新驾驶员个人自我评价
2014/01/03 职场文书
公司委托书格式范文
2014/04/04 职场文书
《雨点儿》教学反思
2014/04/14 职场文书
购房公证委托书(2014版)
2014/09/12 职场文书
开除通知书范本
2015/04/25 职场文书
患者身份识别制度
2015/08/06 职场文书
安全教育的主题班会
2015/08/13 职场文书
python爬虫selenium模块详解
2021/03/30 Python
vue3中provide && inject的使用
2021/07/01 Vue.js
用Python可视化新冠疫情数据
2022/01/18 Python
nginx rewrite功能使用场景分析
2022/05/30 Servers