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 相关文章推荐
关于this和self的使用说明
Aug 01 Javascript
Jquery公告滚动+AJAX后台得到数据
Apr 14 Javascript
javascript管中窥豹 形参与实参浅析
Dec 17 Javascript
JS+CSS实现一个气泡提示框
Aug 18 Javascript
javascript通过className来获取元素的简单示例代码
Jan 10 Javascript
我的Node.js学习之路(一)
Jul 06 Javascript
JavaScript实现twitter puddles算法实例
Dec 06 Javascript
JavaScript检测上传文件大小的方法
Jul 22 Javascript
jquery正则表达式验证(手机号、身份证号、中文名称)
Dec 31 Javascript
Node.js中.pfx后缀文件的处理方法
Mar 10 Javascript
vue项目开启Gzip压缩和性能优化操作
Oct 26 Javascript
Vue如何跨组件传递Slot的实现
Dec 14 Vue.js
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
syphon 虹吸式咖啡冲泡冲煮倒水的得与失
2021/03/03 冲泡冲煮
ajax php 实现写入数据库
2009/09/02 PHP
Yii框架获取当前controlle和action对应id的方法
2014/12/03 PHP
PHP实现的简单mock json脚本分享
2015/02/10 PHP
通过JAVASCRIPT读取ASP设定的COOKIE
2007/02/15 Javascript
一些经常会用到的Javascript检测函数
2010/05/31 Javascript
写给想学习Javascript的朋友一点学习经验小结
2010/11/23 Javascript
编写可维护面向对象的JavaScript代码[翻译]
2011/02/12 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
js对象继承之原型链继承实例
2015/01/10 Javascript
基于javascript实现随机颜色变化效果
2016/01/14 Javascript
jQuery实现下拉框左右移动(全部移动,已选移动)
2016/04/15 Javascript
Web打印解决方案之普通报表打印功能
2016/08/29 Javascript
jquery popupDialog 使用 加载jsp页面的方法
2016/10/25 Javascript
easyui 中的datagrid跨页勾选问题的实现方法
2017/01/18 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
js实现颜色阶梯渐变效果(Gradient算法)
2017/03/21 Javascript
Vue form 表单提交+ajax异步请求+分页效果
2017/04/22 Javascript
JS实现数组去重方法总结(六种方法)
2017/07/14 Javascript
Vue 换肤的示例实践
2018/01/23 Javascript
vue中实现图片和文件上传的示例代码
2018/03/16 Javascript
iconfont的三种使用方式详解
2018/08/05 Javascript
Vue.js单向绑定和双向绑定实例分析
2018/08/14 Javascript
Python实现备份文件实例
2014/09/16 Python
通过实例浅析Python对比C语言的编程思想差异
2015/08/30 Python
全面了解python字符串和字典
2016/07/07 Python
python 简单搭建阻塞式单进程,多进程,多线程服务的实例
2017/11/01 Python
python2.7到3.x迁移指南
2018/02/01 Python
python多任务及返回值的处理方法
2019/01/22 Python
Python tkinter界面实现历史天气查询的示例代码
2020/08/23 Python
制衣厂各岗位职责
2013/12/02 职场文书
欢迎领导检查标语
2014/06/27 职场文书
财务工作失职检讨书
2014/11/21 职场文书
大三学生英语考试作弊检讨书
2015/01/01 职场文书
工作年限证明范本
2015/06/15 职场文书
演讲比赛主持词
2015/06/29 职场文书