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 相关文章推荐
encode脚本和normal脚本混用的问题与解决方法
Mar 08 Javascript
收集的网上用的ajax之chat.js文件
Apr 08 Javascript
Query中click(),bind(),live(),delegate()的区别
Nov 19 Javascript
JavaScript中的原型prototype属性使用详解
Jun 05 Javascript
JS实现从连接中获取youtube的key实例
Jul 02 Javascript
浅谈jQuery的offset()方法及示例分享
Jul 17 Javascript
js实现加载更多功能实例
Oct 27 Javascript
JavaScript数据结构链表知识详解
Nov 21 Javascript
vue axios请求超时的正确处理方法
Apr 02 Javascript
vue.js中ref和$refs的使用及示例讲解
Aug 14 Javascript
vue项目打包后提交到git上为什么没有dist这个文件的解决方法
Sep 16 Javascript
JavaScript实现前端网页版倒计时
Mar 24 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下将图片以二进制存入mysql数据库中并显示的实现代码
2010/05/27 PHP
Php中用PDO查询Mysql来避免SQL注入风险的方法
2013/04/25 PHP
CI框架学习笔记(一) - 环境安装、基本术语和框架流程
2014/10/26 PHP
php实现汉字验证码和算式验证码的方法
2015/03/07 PHP
thinkPHP订单数字提醒功能的实现方法
2016/12/01 PHP
php获取'/'传参的值简单方法
2017/07/13 PHP
jCallout 轻松实现气泡提示功能
2013/09/22 Javascript
js函数在frame中的相互调用详解
2014/03/03 Javascript
详解JavaScript中undefined与null的区别
2014/03/29 Javascript
JS运动改变单物体透明度的方法分析
2018/01/23 Javascript
小程序跨页面交互的作用与方法详解
2020/01/07 Javascript
[58:09]Spirit vs NB Supermajor小组赛 A组败者组决赛 BO3 第三场 6.2
2018/06/03 DOTA
[08:08]DOTA2-DPC中国联赛2月28日Recap集锦
2021/03/11 DOTA
Python写入数据到MP3文件中的方法
2015/07/10 Python
微信跳一跳python辅助脚本(总结)
2018/01/11 Python
python numpy 部分排序 寻找最大的前几个数的方法
2018/06/27 Python
对python中数据集划分函数StratifiedShuffleSplit的使用详解
2018/12/11 Python
python将一个英文语句以单词为单位逆序排放的方法
2018/12/20 Python
Python 合并多个TXT文件并统计词频的实现
2019/08/23 Python
Python实现序列化及csv文件读取
2020/01/19 Python
TensorFlow 读取CSV数据的实例
2020/02/05 Python
Django+Celery实现动态配置定时任务的方法示例
2020/05/26 Python
在Tensorflow中实现leakyRelu操作详解(高效)
2020/06/30 Python
浅谈django不使用restframework自定义接口与使用的区别
2020/07/15 Python
Django使用django-simple-captcha做验证码的实现示例
2021/01/07 Python
CSS3的颜色渐变效果的示例代码
2017/09/29 HTML / CSS
日本整理专家Marie Kondo的官方在线商店:KonMari
2020/06/29 全球购物
艺术系大学生毕业个人自我评价
2013/09/19 职场文书
监理员的岗位职责
2013/11/13 职场文书
会计人员岗位职责
2014/03/19 职场文书
会计电算化专业求职信
2014/06/10 职场文书
2014学校领导四风对照检查材料思想汇报
2014/09/23 职场文书
公司介绍信范文
2015/01/31 职场文书
2015年教师业务工作总结
2015/05/26 职场文书
签证工作证明模板
2015/06/15 职场文书
通讯稿范文
2015/07/22 职场文书