jQuery图片切换动画特效


Posted in Javascript onNovember 02, 2016

由于博主我懒,所以页面画的比较粗糙,但是没关系,因为我主要讲的是如何实现图片动画切换。

思路:想必大家都逛过淘宝或者其他的一些网站,一般都会有图片动画切换的效果,那是怎样实现的呢?博主我呢,技术不是很好,弄了一个简单的例子!

首先一般图片上会有两个图片按钮,一个左切换的按钮一个右切换的按钮,当我们单击左切换按钮时,原来的图片就会向右移动XX像素,然后它左边的图片就会显示到框里,而原来的图片被隐藏了,单击右切换按钮的原理跟左按钮相似。但如果一直点同一个按钮的话,本来这个图片切换框只有3张图片的话,到最后一张的时候我们要做一个判断,让它移动回第一张或者最后一张。思路分析完了,下面看下我们的代码:

1、html代码

<div id="divBox">
  <div id="imgBox">
    <div class="img"><img src="0.jpg"/></div>
    <div class="img"><img src="1.jpg"/></div>
    <div class="img"><img src="3.jpg"/></div>
  </div>
</div>
<div id="bth">
  <button id="zou">左</button>
  <button id="you">右</button>
</div>

divBox是一个显示图片的框

imgBox是包住所有图片的DIV,我们实现效果也是移动这个DIV就可以了

bth放了两个button按钮用来切换图片

效果图:

 jQuery图片切换动画特效

2、CSS代码

#divBox{
  height:315px;
  width:750px;
  position:absolute;
  border:#000000 1px solid;
  overflow:hidden;}

  #imgBox{
  position:absolute;
  width:2550px;}
  
  .img{
  float:left;}
  
  #bth{
  margin-left:800px;}

#divBox设置图片显示框的宽高,绝对位置,边框,还一个重要的属性是overflow,溢出隐藏,当这个DIV里的内容超出这个DIV的大小时,溢出的部分会被隐藏掉。

#imgBox设置绝对位置和宽度,这个宽度取决于你所有图片宽度的总和,我这里是2550px,有三张图片,每张图片宽为750px;如果这里不给宽度的话里面的小DIV无法左浮动。

.img设置左浮动,让所有图片向左浮动,保持在一条水平线上。

#bth 设置外边距,因为上面的div设置了绝对位置所以这个div会被盖住看不见了,所以把这个div挪出来。

 效果图:

jQuery图片切换动画特效

3、脚本代码

$(function(){
    //定义一个变量保存距离左边的位置
    var leftNum=0;
    $("#zou").click(function(){
      if(leftNum==0){
        //移动到最后一张图片
        $("#imgBox").animate({left:leftNum=-1500},500);
      }else{
        $("#imgBox").animate({left:leftNum=leftNum+750},500);
      }
      
    });
    
    $("#you").click(function(){
      if(leftNum==-1500){
        //移动到第一张图片
        $("#imgBox").animate({left:leftNum=0},500);
      }else{
        $("#imgBox").animate({left:leftNum=leftNum-750},500);
      }
      
    });
  });

提示:记得导入jQuery包

脚本代码我写了两个单击事件,定义了一个保存距离左边位置的属性leftNum

首先看一下我们的左切换按钮单击事件:当我们单击按钮时,首先判断leftNum是否为0,如果为0,那么就是第一张图片,第一张图片左边已经没图片了怎么办,所以我们让他跳到最后一张图片,我们调用animate方法实现动画效果,这里我写的是left:left=-1500,为什么是-1500呢,left等于0时是第一张图片,left等于-750的时候是第二张图片,left等于-1500时就是第三张图片,所以最后一张图片的位置=-(图片宽度)X(图片总数)-1。如果leftNum不为0时,我们就在原来的基础上加750px。

右切换按钮的原理和左切换按钮相似,我就不解释那么多了。

 4、小结:

看懂的小伙伴们可以自己去实践一下,毕竟实践出真理。

如果想做的更好看的同学,可以私信我,毕竟还有先功能我没讲,比如弄几个圆点在图片上面,当我们点击圆点时就动画切换到相对应的图片上,还可以设置图片轮播效果,每隔多少秒切换一次图片。

还有就是按钮的话,大家也可以弄的漂亮一些,可以在图片左边和右边加一个图片的按钮,这样和更美观

jQuery图片切换动画特效

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

Javascript 相关文章推荐
jQuery 对象中的类数组操作
Apr 27 Javascript
Javascript 代码也可以变得优美的实现方法
Jun 22 Javascript
extJs 下拉框联动实现代码
Apr 09 Javascript
jQuery建立一个按字母顺序排列的友好页面索引(兼容IE6/7/8)
Feb 26 Javascript
JSON格式化输出
Nov 10 Javascript
JavaScript中Function()函数的使用教程
Jun 04 Javascript
jQuery移动web开发之页面跳转和加载外部页面的实现
Dec 04 Javascript
解决jquery无法找到其他父级子集问题的方法
May 10 Javascript
全面介绍javascript实用技巧及单竖杠
Jul 18 Javascript
如何学JavaScript?前辈的经验之谈
Dec 28 Javascript
浅谈VUE-CLI脚手架热更新太慢的原因和解决方法
Sep 28 Javascript
vue.js中导出Excel表格的案例分析
Jun 11 Javascript
用jQuery的AJax实现异步访问、异步加载
Nov 02 #Javascript
AngularJS入门教程之MVC架构实例分析
Nov 01 #Javascript
bootstrap table复杂操作代码
Nov 01 #Javascript
bootstrap flask登录页面编写实例
Nov 01 #Javascript
JS弹出窗口的运用与技巧大全
Nov 01 #Javascript
Bootstrap树形菜单插件TreeView.js使用方法详解
Nov 01 #Javascript
JS实现快速的导航下拉菜单动画效果附源码下载
Nov 01 #Javascript
You might like
Win下如何安装PHP的APC拓展
2013/08/07 PHP
浅谈本地WAMP环境的搭建
2015/05/13 PHP
利用php-cli和任务计划实现订单同步功能的方法
2017/05/03 PHP
asp.net+js 实现无刷新上传解析csv文件的代码
2010/05/17 Javascript
function foo的原型与prototype属性解惑
2010/11/19 Javascript
javascript代码编写需要注意的7个小细节小结
2011/09/21 Javascript
jQuery前端框架easyui使用Dialog时bug处理
2014/12/05 Javascript
轻松创建nodejs服务器(10):处理POST请求
2014/12/18 NodeJs
js实现点击获取验证码倒计时效果
2021/01/28 Javascript
使用JQuery 加载页面时调用JS的实现方法
2016/05/30 Javascript
JS操作input标签属性checkbox全选的实现代码
2017/03/02 Javascript
微信小程序picker组件关于objectArray数据类型的绑定方法
2019/03/13 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
javascript实现前端分页效果
2020/06/24 Javascript
在vue-cli3.0 中使用预处理器 (Sass/Less/Stylus) 配置全局变量操作
2020/08/10 Javascript
Python 实现数据库(SQL)更新脚本的生成方法
2017/07/09 Python
Jupyter notebook远程访问服务器的方法
2018/05/24 Python
tensorflow 恢复指定层与不同层指定不同学习率的方法
2018/07/26 Python
python+opencv+caffe+摄像头做目标检测的实例代码
2018/08/03 Python
Python实现的简单线性回归算法实例分析
2018/12/26 Python
对python捕获ctrl+c手工中断程序的两种方法详解
2018/12/26 Python
python调用自定义函数的实例操作
2019/06/26 Python
Python实现最常见加密方式详解
2019/07/13 Python
python多线程+代理池爬取天天基金网、股票数据过程解析
2019/08/13 Python
Python decorator拦截器代码实例解析
2020/04/04 Python
tensorflow模型文件(ckpt)转pb文件的方法(不知道输出节点名)
2020/04/22 Python
Python实现电视里的5毛特效实例代码详解
2020/05/15 Python
理工科学生的自我评价
2013/12/15 职场文书
预防艾滋病宣传标语
2014/06/25 职场文书
工伤私了协议书范本
2014/11/24 职场文书
一般纳税人申请报告
2015/05/18 职场文书
《追风筝的人》:人心中的成见是座大山,但请不忘初心
2019/11/15 职场文书
CSS 实现多彩、智能的阴影效果
2021/05/12 HTML / CSS
详解Node.js如何处理ES6模块
2021/05/15 Javascript
Python答题卡识别并给出分数的实现代码
2021/06/22 Python
CSS实现隐藏搜索框功能(动画正反向序列)
2021/07/21 HTML / CSS