本文实例讲述了jQuery实现的指纹扫描效果。分享给大家供大家参考,具体如下:
运行效果截图如下:
点击此处查看在线演示效果。
具体代码如下:
<!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特效相关内容感兴趣的读者可查看本站专题:《jQuery动画与特效用法总结》及《jQuery常见经典特效汇总》
希望本文所述对大家jQuery程序设计有所帮助。
本文地址:https://www.stayed.cn/item/17293
转载请注明出处。
本站部分内容来源于网络,如侵犯到您的权益,请 联系我