jQuery实现的指纹扫描效果实例(附演示与demo源码下载)


Posted in Javascript onJanuary 26, 2016

本文实例讲述了jQuery实现的指纹扫描效果。分享给大家供大家参考,具体如下:

运行效果截图如下:

jQuery实现的指纹扫描效果实例(附演示与demo源码下载)

点击此处查看在线演示效果。

具体代码如下:

<!DOCTYPE html>
<html>
  <head>
    <meta charset="UTF-8" />
    <title>demo</title>
    <style type="text/css">
      body {
        background:black;
      }
      .dialog {
        width:300px; height:300px; position:fixed; left:50%; margin-left:-150px; border:2px dashed green;
        top:50px;
      }
      .dialog .shape {
        background:black; width:300px; height:300px; z-index:1;
      }
      .dialog .eye {
        width:200px; height:200px; position:absolute; left:50px; top:50px;
        z-index:2;
      }
      #container {
        position:relative;
      }
      .line {
        position:absolute; left:0px; top:0px; font-size:0px; z-index:10;
        background:green;
      }
      .btnGroup {
        text-align:center;
      }
      .btnGroup button {
        width:50px; height:40px; 
      }
      .dialog.output {
        top:400px; display:none;
      }
      #power {
        border:1px solid green; position:fixed; right:20px; bottom:20px;
        color:green; line-height:50px; font-size:30px; 
      }
      .title {
        line-height:50px; font-size:25px; color:#8F8383; text-shadow:0px 0px 3px green;
        text-align:center;
      }
    </style>
  </head>
  <body>
    <div class="dialog">
      <div id="container">
        <div class="shape"></div>
        <img src="finger.png" class="eye" />
      </div>
      <div class="btnGroup">
        <button id="vSee">竖向扫描</button>
        <button id="hSee">横向扫描</button>
        <button id="bSee">双向扫描</button>
        <button id="dSee">深度扫描</button>
      </div>
    </div>
    <div class="dialog output" id="outputContainer">
      <img src="finger.png" class="eye" />
    </div>
  </body>
  <script type="text/javascript" src="jquery.js"></script>
  <script type="text/javascript">
    var container = $("#container");
    var outputContainer = $("#outputContainer");
    function Line(type) {
      var self = this;
      self.type = type || "V";
      var body = $("<div class='line'></div>");
      switch(this.type) {
        case "V": // 竖直
          body.css({
            "width": "1px",
            "height": "300px"
          });
        break;
        case "H": // 水平
          body.css({
            "width": "300px",
            "height": "1px"
          });
        break;
      }
      container.append(body);
      self.body = body;
      self.direct = self.type === "V" ? "R" : "B";
      self.run = function() {
        switch(self.direct) {
          case "L":
            self.body.animate({"left":0}, 1000, null, function() {
              self.direct = "R";
              self.run();
            });
          break;
          case "R":
            self.body.animate({"left":300}, 1000, null, function() {
              self.direct = "L";
              self.run();
            });
          break;
          case "T":
            self.body.animate({"top":0}, 1000, null, function() {
              self.direct = "B";
              self.run();
            });
          break;
          case "B":
            self.body.animate({"top":300}, 1000, null, function() {
              self.direct = "T";
              self.run();
            });
          break;
        }
      }
      self.run();
    }
    var lineArray = [];
    function output(type, time, opactiy) {
      time = time || 2000;
      var initHeight = type === "H" ? 0 : 300;
      var initWidth = type === "H" ? 300 : 0;
      type === "B" && (initHeight = initWidth = 0);
      outputContainer.css({
        "height": initHeight,
        "width": initWidth,
        "display": "block",
        "opacity": opactiy || 1
      });
      outputContainer.animate({"height":300, "width":300}, time, null);
    }
    function clear() {
      for(var i=0, len=lineArray.length; i<len; i++) {
        var line = lineArray[i];
        line.body.stop().remove();
      }
      container.find(".line").remove();
      outputContainer.stop().css({"display": "none", "opacity": 0});
    }
    $("#hSee").click(function() {
      clear();
      lineArray.push(new Line("H"));
      output("H", null, 0.5);
    });
    $("#vSee").click(function() {
      clear();
      lineArray.push(new Line("V"));
      output("V", null, 0.5);
    });
    $("#bSee").click(function() {
      clear();
      lineArray.push(new Line("H"), new Line("V"));
      output("B", 3500, 0.8);
    });
    $("#dSee").click(function() {
      clear();
      for(var i=0; i<5; i++) {
        (function(index) {
          setTimeout(function() {
            lineArray.push(new Line("H"), new Line("V"));
          }, index*200);
        })(i);
      }
      output("B", 5000, 1.0);
    });
  </script>
</html>

完整实例代码点击此处本站下载。

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
javascript add event remove event
Apr 07 Javascript
为调试JavaScript添加输出窗口的代码
Feb 07 Javascript
jQuery 瀑布流 浮动布局(一)(延迟AJAX加载图片)
May 23 Javascript
jquery遍历checkbox介绍
Feb 21 Javascript
纯js和css实现渐变色包括静态渐变和动态渐变
May 29 Javascript
深入理解angularjs过滤器
May 25 Javascript
使用bootstrap实现多窗口和拖动效果
Sep 22 Javascript
vue中实现移动端的scroll滚动方法
Mar 03 Javascript
vue生命周期的探索
Apr 03 Javascript
Node.js Windows Binary二进制文件安装方法
May 16 Javascript
VUE 动态组件的应用案例分析
Dec 02 Javascript
JavaScript实现tab栏切换效果
Mar 16 Javascript
Bootstrap树形组件jqTree的简单封装
Jan 25 #Javascript
javascript实现2016新年版日历
Jan 25 #Javascript
基于javascript实现图片左右切换效果
Jan 25 #Javascript
JavaScript实现获取某个元素相邻兄弟节点的prev与next方法
Jan 25 #Javascript
JavaScript事件类型中焦点、鼠标和滚轮事件详解
Jan 25 #Javascript
JavaScript实现给定时间相加天数的方法
Jan 25 #Javascript
jQuery中inArray方法注意事项分析
Jan 25 #Javascript
You might like
繁体中文转换为简体中文的PHP函数
2006/10/09 PHP
从C/C++迁移到PHP——判断字符类型的函数
2006/10/09 PHP
php学习笔记(三)操作符与控制结构
2011/08/06 PHP
javascript 播放器 控制
2007/01/22 Javascript
Javascript中的数学函数
2007/04/04 Javascript
JavaScript基本概念初级讲解论坛贴的学习记录
2009/02/22 Javascript
清空上传控件input file的值
2010/07/03 Javascript
jquery选择器之内容过滤选择器详解
2014/01/27 Javascript
javascript数组输出的两种方式
2015/01/13 Javascript
js获取页面引用的css样式表中的属性值方法(推荐)
2016/08/19 Javascript
JavaScript排序算法动画演示效果的实现方法
2016/10/18 Javascript
jquery+css3问卷答题卡翻页动画效果示例
2016/10/26 Javascript
解决前端跨域问题方案汇总
2016/11/20 Javascript
jquery实现输入框实时输入触发事件代码
2016/12/21 Javascript
vue2.0 axios跨域并渲染的问题解决方法
2018/03/08 Javascript
基于jquery实现九宫格拼图小游戏
2018/11/30 jQuery
详解关于React-Router4.0跳转不置顶解决方案
2019/05/10 Javascript
javascript实现的时间格式加8小时功能示例
2019/06/13 Javascript
javascript设计模式 ? 享元模式原理与用法实例分析
2020/04/15 Javascript
[40:04]Secret vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第二场 8.23
2019/09/05 DOTA
[01:32:22]DOTA2-DPC中国联赛 正赛 Ehome vs VG BO3 第一场 2月5日
2021/03/11 DOTA
从django的中间件直接返回请求的方法
2018/05/30 Python
Python内存映射文件读写方式
2020/04/24 Python
pytorch加载语音类自定义数据集的方法教程
2020/11/10 Python
pycharm Tab键设置成4个空格的操作
2021/02/26 Python
html5默认气泡修改的代码详解
2020/03/13 HTML / CSS
照片礼物和装饰:MyPhoto
2019/11/02 全球购物
SQL里面如何插入自动增长序列号字段
2012/03/29 面试题
请解释一下webService? 如何用.net实现webService
2014/06/09 面试题
同步和异步有何异同,在什么情况下分别使用他们?
2012/12/28 面试题
机械专业毕业生推荐信范文
2013/11/25 职场文书
2013的个人自我评价
2013/12/26 职场文书
优秀乡村医生事迹材料
2014/05/28 职场文书
幼儿园小班个人工作总结
2015/02/12 职场文书
敬业奉献模范事迹材料(2016精选版)
2016/02/26 职场文书
画错魏国疆域啦!《派对咖孔明》动画因作画失误于官网致歉
2022/04/07 日漫