原生JS实现图片轮播效果


Posted in Javascript onDecember 26, 2016

之前页面需要图片轮播的时候,都是直接在网上找一个插件,然后自己动手改一下,把图片的路径改成自己图片的路径,然后万事大吉。后来觉得这样并不能提高自己的前端水平,于是乎,自己动手写了一个图片轮播的小demo,用的是jquery,小弟前端小白一个,各位前端大神看了之后,望批评指正。

我的思路是这样的,定义两个变量,一个用来保存当前页码$index,一个用来保存上一页的页码$exdex,首先判断$index和$exdex的大小,如果$index大于$exdex,说明是朝左翻页,反之,就是朝右翻页。如果是朝左翻页,就把当前页朝左偏移100%的宽度,让下一页同样朝左偏移100%宽度。以下是代码部分:

<html>
<head lang="en">
  <meta charset="UTF-8">
  <title></title>
  <style>
    .banner{
      width:300px;
      height:250px;
      position: relative;
      z-index: 100;
      background: skyblue;
      margin:100px auto;
      overflow:hidden ;
    }

    .banner .first{
      left:0;
    }
    .banner a{
      width: 100%;
      height: 100%;
      position: absolute;
      display:block;
      top:0;
      left:100%;
    }
    .banner a img{
      width: 100%;
      height: 100%;
    }
    .banner .pre{
      position: absolute;
      left:0;
      top:120px;
      background: gray;
      width:30px;
      height:30px;
      border-radius: 30px;
      line-height: 30px;
      text-align: center;
      opacity: 0.4;
      z-index: 1000;
      cursor: pointer;
    }
    .banner .next{
      position: absolute;
      right:0;
      top:120px;
      background: gray;
      width:30px;
      height:30px;
      border-radius: 30px;
      line-height: 30px;
      text-align: center;
      opacity: 0.4;
      z-index: 1000;
      cursor: pointer;
    }
    .choose{
      position: absolute;
      width:100px;
      height:20px;
      bottom:10px;
      left:90px;
      z-index: 1000;
    }
    .choose span{
      display: block;
      float: left;
      margin-left:15px;
      width:10px;
      height:10px;
      border-radius: 10px;
      background: blue;
      cursor: pointer;
    }
    .choose .red{
      background: red;
    }
  </style>
</head>
<body>
  <div class="banner">
    <span class="pre"><=</span>
    <span class="next">=></span>
    <a href="#" class="first"><img src="./1.jpg" alt=""/></a>
    <a href="#"><img src="./2.jpg" alt=""/></a>
    <a href="#"><img src="./3.jpg" alt=""/></a>
    <a href="#"><img src="./4.jpg" alt=""/></a>
    <div class="choose">
      <span class="red"></span>
      <span></span>
      <span></span>
      <span></span>
    </div>
  </div>
</body>
<script src="./jquery.min.js"></script>
<script>
  var $index = 0;
  var $exdex = 0;
  $('.choose span').mouseover(function(){
    $index = $(this).index();
    $('.choose span').eq($index).addClass("red").siblings().removeClass("red");
    if($index > $exdex) {
      next();
    } else {
      pre();
    }
    return $exdex = $index;
  });

  function next() {
    $('.banner a').eq($index).stop(true,true).css('left',"100%").animate({"left":0});
    $('.banner a').eq($exdex).stop(true,true).css('left',"0").animate({"left":"-100%"});
  }

  function pre() {
    $('.banner a').eq($index).stop(true,true).css('left',"-100%").animate({"left":"0"});
    $('.banner a').eq($exdex).stop(true,true).css('left',"0").animate({"left":"100%"});
  }
</script>
</html>

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

Javascript 相关文章推荐
对google个性主页的拖拽效果的js的完整注释[转]
Apr 10 Javascript
jQuery AJAX实现调用页面后台方法和web服务定义的方法分享
Mar 01 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
Oct 15 Javascript
jquery数据验证插件(自制,简单,练手)实例代码
Oct 24 Javascript
jQuery实现仿淘宝带有指示条的图片转动切换效果完整实例
Mar 04 Javascript
Windows系统下Node.js的简单入门教程
Jun 23 Javascript
jquery实现手机号码选号的方法
Jul 31 Javascript
jQuery遍历DOM的父级元素、子级元素和同级元素的方法总结
Jul 07 Javascript
AngularJS基础 ng-options 指令详解
Aug 02 Javascript
原生Javascript插件开发实践
Jan 18 Javascript
JavaScript实现公告栏上下滚动效果
Mar 13 Javascript
Ant Design的可编辑Tree的实现操作
Oct 31 Javascript
输入框点击时边框变色效果的实现方法
Dec 26 #Javascript
JS正则表达式学习之贪婪和非贪婪模式实例总结
Dec 26 #Javascript
Bootstrap源码解读媒体对象、列表组和面板(10)
Dec 26 #Javascript
Bootstrap 轮播(Carousel)插件
Dec 26 #Javascript
基于ajax与msmq技术的消息推送功能实现代码
Dec 26 #Javascript
Bootstrap源码解读标签、徽章、缩略图和警示框(8)
Dec 26 #Javascript
js正则表达式惰性匹配和贪婪匹配用法分析
Dec 26 #Javascript
You might like
Php Ctemplate引擎开发相关内容
2012/03/03 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
PHP生成指定随机字符串的简单实现方法
2015/04/01 PHP
PHP中应该避免使用同名变量(拆分临时变量)
2015/04/03 PHP
php格式化电话号码的方法
2015/04/24 PHP
浅谈PHP命令执行php文件需要注意的问题
2016/12/16 PHP
Laravel框架实现定时Task Scheduling例子
2019/10/22 PHP
IE8提示Invalid procedure call or argument 异常的解决方法
2012/09/30 Javascript
基于JQuery模仿苹果桌面的Dock效果(初级版)
2012/10/15 Javascript
每天一篇javascript学习小结(面向对象编程)
2015/11/20 Javascript
Jsonp 关键字详解及json和jsonp的区别,ajax和jsonp的区别
2015/12/30 Javascript
javascript input输入框模糊提示功能的实现
2017/09/25 Javascript
vue升级之路之vue-router的使用教程
2018/08/14 Javascript
Koa代理Http请求的示例代码
2018/10/10 Javascript
Vue移动端项目实现使用手机预览调试操作
2020/07/18 Javascript
微信小程序实现时间戳格式转换
2020/07/20 Javascript
python抓取某汽车网数据解析html存入excel示例
2013/12/04 Python
Python+OpenCV人脸检测原理及示例详解
2020/10/19 Python
Python实现读写INI配置文件的方法示例
2018/06/09 Python
python3解析库BeautifulSoup4的安装配置与基本用法
2018/06/26 Python
python3+pyqt5+itchat微信定时发送消息的方法
2019/02/20 Python
解决Python对齐文本字符串问题
2019/08/28 Python
python 判断txt每行内容中是否包含子串并重新写入保存的实例
2020/03/12 Python
python温度转换华氏温度实现代码
2020/12/06 Python
LookFantastic丹麦:英国美容护肤精品在线商城
2016/08/18 全球购物
Bally美国官网:经典瑞士鞋履、手袋及配饰奢侈品牌
2018/05/18 全球购物
美国最大的存储市场:SpareFoot
2018/07/23 全球购物
中学教师管理制度
2014/01/14 职场文书
学生检讨书如何写
2014/10/30 职场文书
工资证明范本
2015/06/12 职场文书
2015暑假打工实践报告
2015/07/13 职场文书
python将图片转为矢量图的方法步骤
2021/03/30 Python
nginx处理http请求实现过程解析
2021/03/31 Servers
python用字节处理文件实例讲解
2021/04/13 Python
MySQL into_Mysql中replace与replace into用法案例详解
2021/09/14 MySQL
 分享一个Python 遇到数据库超好用的模块
2022/04/06 Python