js实现单张图片平移切换效果


Posted in Javascript onOctober 11, 2017

本文参考了JQuery实现图片切换(自动切换+手动切换)

由于个人不需要手动切换功能,因此把那部分的内容删了,主要是增加了无缝切换的效果。

原理也很简单,大概是一张图移动到左边以后,从底部移回最右,等待下一次循环。

<!DOCTYPE html>
<html>
<head>
 <meta charset="utf-8">
 <script src="js/jquery-1.10.1.min.js"></script>
</head>
<body> 
 <div class="wrapper"> 
  <h1>jquer实现图片切换</h1> 
  <div id="focus"> 
   <ul> 
    <!-- 这里有三个z-index的设置 -->
     <li><div class="switch_pic" style="z-index: 3;background: url('imgs/01.jpg') center center;background-size: cover;"></div></li> 
     <li><div class="switch_pic" style="z-index: 2;background: url('imgs/02.jpg') center center;background-size: cover;"></div></li> 
     <li><div class="switch_pic" style="z-index: 1;background: url('imgs/03.jpg') center center;background-size: cover;"></div></li> 
     <li><div class="switch_pic" style="background: url('imgs/04.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="background: url('imgs/meiko2.jpg') center center;background-size: cover;"></div></li>
     <li><div class="switch_pic" style="background: url('imgs/meiko7.jpg') center center;background-size: cover;"></div></li>
   </ul> 
   </div> 
  </div> 
  <script type="text/javascript">
  $(function() { 
  var sWidth = $("#focus").width(); 
  var len = $("#focus ul li").length; 
  var index = 0; 
  var picTimer; 
  var $pics = $("#focus ul li").find('.switch_pic');//获取所有图片

   showPics(index); //网页打开立即执行一次动画
   picTimer = setInterval(function() { 
    index++; 
    if(index == len) {index = 0;} 
    showPics(index); 
   },3000);//3000毫秒的间隔

  //显示图片函数,根据接收的index值显示相应的内容 
  function showPics(index) { //普通切换 
   var nowLeft = -sWidth; //每次移动固定量

   var $pic = $pics.eq(index);//获取当前要移出的图片
   var $nexPic = $pics.eq((index+1)%len);//当前要移入的图片
   var $nexnexPic = $pics.eq((index+2)%len);//下一个要移入的图片
   $nexPic.css("left",sWidth);//下一个图片移动到最右

   //当前要移出的图片开始左移,模式设为平滑"linear",速度和间隔一样
   $pic.animate({"left":nowLeft},3000,"linear",function(){
    // 当前图片完全移出后,重新设置z-index
    $pic.css("z-index",1);
    $nexPic.css("z-index",3);
    $nexnexPic.css("z-index",2);
   });
   //当前要移入的图片同时左移
   $nexPic.animate({"left":0},3000,"linear");
  } 
 }); 
</script>
<style type="text/css">
 *{margin:0;padding:0;} 
 body{font-size:12px;color:#222;font-family:Verdana,Arial,Helvetica,sans-serif;background:#f0f0f0;} 
 .clearfix:after{content: ".";display: block;height: 0;clear: both;visibility: hidden;} 
 .clearfix{zoom:1;} 
 ul,li{list-style:none;} 
 img{border:0;} 
 .wrapper{width:800px;margin:0 auto;padding-bottom:50px;} 
 h1{height:50px;line-height:50px;font-size:22px;font-weight:normal;font-family:"Microsoft YaHei",SimHei;margin-bottom:20px;} 

 #focus{width:450px;height:350px;overflow:hidden;position:relative;} 
 #focus ul{height:380px;position:absolute;} 
 #focus ul li{float:left;width:450px;height:350px;overflow:hidden;position:absolute;background:#000;} 
 #focus ul li div{position:absolute;overflow:hidden;width: 450px;height: 350px;} 
</style>
</body>

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

Javascript 相关文章推荐
用js实现table单元格高宽调整,兼容合并单元格(兼容IE6、7、8、FF)实例
Jun 25 Javascript
js获取url中的参数且参数为中文时通过js解码
Mar 19 Javascript
JavaScript常用脚本汇总(三)
Mar 04 Javascript
JS实现的四级密码强度检测功能示例
May 11 Javascript
Angular2安装angular-cli
May 21 Javascript
vue.js获取数据库数据实例代码
May 26 Javascript
JavaScript编写的网页小游戏,很给力
Aug 18 Javascript
vue.js  父向子组件传参的实例代码
Oct 29 Javascript
vue v-model动态生成详解
Jun 30 Javascript
Mint UI组件库CheckList使用及踩坑总结
Dec 20 Javascript
用Node写一条配置环境的指令
Nov 14 Javascript
Node.js Domain 模块实例详解
Mar 18 Javascript
jQuery自动或手动图片切换效果
Oct 11 #jQuery
简单实现vue验证码60秒倒计时功能
Oct 11 #Javascript
mui框架移动开发初体验详解
Oct 11 #Javascript
Scala解析Json字符串的实例详解
Oct 11 #Javascript
jQuery使用bind函数实现绑定多个事件的方法
Oct 11 #jQuery
详解vue mint-ui源码解析之loadmore组件
Oct 11 #Javascript
JS随机排序数组实现方法分析
Oct 11 #Javascript
You might like
[原创]效率较高的php下读取文本文件的代码
2008/07/02 PHP
PHP CKEditor 上传图片实现代码
2009/11/06 PHP
jQuery之日期选择器的深入解析
2013/06/19 Javascript
jQuery 绑定事件到动态创建的元素上的方法实例
2013/08/18 Javascript
js判断iframe内的网页是否滚动到底部触发事件
2014/03/18 Javascript
node.js中的fs.link方法使用说明
2014/12/15 Javascript
js canvas实现擦除动画
2016/07/16 Javascript
JS实现简易的图片拖拽排序实例代码
2017/06/09 Javascript
微信小程序三级联动地址选择器的实例代码
2017/07/12 Javascript
php register_shutdown_function函数详解
2017/07/23 Javascript
javascript 判断用户有没有操作页面
2017/10/17 Javascript
node文字生成图片的示例代码
2017/10/26 Javascript
快速解决vue动态绑定多个class的官方实例语法无效的问题
2018/09/05 Javascript
解决vue props 拿不到值的问题
2018/09/11 Javascript
jQuery实现的老虎机跑动效果示例
2018/12/29 jQuery
Vue实现的父组件向子组件传值功能示例
2019/01/19 Javascript
小程序绑定用户方案优化小结
2019/05/15 Javascript
解决vue admin element noCache设置无效的问题
2019/11/12 Javascript
浅谈Python中chr、unichr、ord字符函数之间的对比
2016/06/16 Python
Python爬虫:通过关键字爬取百度图片
2017/02/17 Python
python kmeans聚类简单介绍和实现代码
2018/02/23 Python
Python读取txt内容写入xls格式excel中的方法
2018/10/11 Python
Python批处理更改文件名os.rename的方法
2018/10/26 Python
IntelliJ IDEA安装运行python插件方法
2018/12/10 Python
打包python 加icon 去掉cmd黑窗口方法
2019/06/24 Python
Python双链表原理与实现方法详解
2020/02/22 Python
Python多线程Threading、子线程与守护线程实例详解
2020/03/24 Python
Python Django中的STATIC_URL 设置和使用方式
2020/03/27 Python
scrapy框架携带cookie访问淘宝购物车功能的实现代码
2020/07/07 Python
一道Delphi上机题
2012/06/04 面试题
妇女儿童发展规划实施方案
2014/03/16 职场文书
授权委托书怎么写
2014/09/25 职场文书
2014年房地产个人工作总结
2014/12/20 职场文书
JS继承最简单的理解方式
2021/03/31 Javascript
深入理解Vue的数据响应式
2021/05/15 Vue.js
python函数的两种嵌套方法使用
2022/04/02 Python