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 相关文章推荐
js获取单元格自定义属性值的代码(IE/Firefox)
Apr 05 Javascript
基于jquery的图片懒加载js
Jun 30 Javascript
JS模拟面向对象全解(二、类型与赋值)
Jul 13 Javascript
jQuery EasyUI API 中文文档 - TreeGrid 树表格使用介绍
Nov 21 Javascript
关于递归运算的顺序测试代码
Nov 30 Javascript
JavaScript实现防止网页被嵌入Frame框架的代码分享
Dec 29 Javascript
js智能获取浏览器版本UA信息的方法
Aug 08 Javascript
浅谈Vue.js
Mar 02 Javascript
jQuery之动画ajax事件(实例讲解)
Jul 18 jQuery
Js面试算法详解
Apr 08 Javascript
layui的table单击行勾选checkbox功能方法
Aug 14 Javascript
javascript数组常见操作方法实例总结【连接、添加、删除、去重、排序等】
Jun 13 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 HtmlReplace输入过滤安全函数
2010/07/03 PHP
php的chr和ord函数实现字符加减乘除运算实现代码
2011/12/05 PHP
PHP实现的堆排序算法详解
2017/08/17 PHP
php适配器模式简单应用示例
2019/10/23 PHP
js 调整select 位置的函数
2008/02/21 Javascript
用js遍历 table的脚本
2008/07/23 Javascript
学习JS面向对象成果 借国庆发布个最新作品与大家交流
2009/10/03 Javascript
对采用动态原型方式无法展示继承机制得思考
2009/12/04 Javascript
解决Extjs上传图片无法预览的解决方法
2012/03/22 Javascript
分享XmlHttpRequest调用Webservice的一点心得
2012/07/20 Javascript
jquery对象和javascript对象即DOM对象相互转换
2014/08/07 Javascript
jquery delay()介绍及使用指南
2014/09/02 Javascript
推荐一个封装好的getElementsByClassName方法
2014/12/02 Javascript
jQuery实用技巧必备(中)
2015/11/03 Javascript
分享jQuery插件的学习笔记
2016/01/14 Javascript
详解JavaScript中数组的reduce方法
2016/12/02 Javascript
Mongoose经常返回e11000 error的原因分析
2017/03/29 Javascript
Vue打包后出现一些map文件的解决方法
2018/02/13 Javascript
angularjs获取到My97DatePicker选中的值方法
2018/10/02 Javascript
微信小程序实现日历功能
2018/11/27 Javascript
JS异步错误捕获的一些事小结
2019/04/26 Javascript
pygame 精灵的行走及二段跳的实现方法(必看篇)
2017/07/10 Python
django数据库自动重连的方法实例
2019/07/21 Python
pytorch查看torch.Tensor和model是否在CUDA上的实例
2020/01/03 Python
获取python运行输出的数据并解析存为dataFrame实例
2020/07/07 Python
CSS3中设置3D变形的transform-style属性详解
2016/05/23 HTML / CSS
Europcar英国:英国汽车和货车租赁
2017/01/21 全球购物
Looking4Parking美国:全球排名第一的机场停车比较品牌
2019/08/26 全球购物
营销专业应届生求职信
2013/11/26 职场文书
小露珠教学反思
2014/04/30 职场文书
学校总务处领导班子民主生活会对照检查材料思想汇报
2014/09/27 职场文书
2014党的群众路线教育实践活动总结材料
2014/10/31 职场文书
财务统计员岗位职责
2015/04/14 职场文书
2015年医院保卫科工作总结
2015/07/23 职场文书
2019年国庆祝福语(70句)
2019/09/19 职场文书
Python中的matplotlib绘制百分比堆叠柱状图,并为每一个类别设置不同的填充图案
2022/04/20 Python