拼图验证码

H5的Canvas实现一个拼图验证码。

功能分析:
1.验证码图片的生成
2.滑块图片的显示
3.底部滑块的横向移动
4.滑块上的文字显示

效果演示:

初始状态
在这里插入图片描述
滑动成功之后在这里插入图片描述
有没有一种心动的感觉呢???

代码演示

==注意:==程序中要引入jquery.js架包

Body内容

		<link rel="stylesheet" href="css/style.css"><style>.container {width: 310px;margin: 100px auto;
}
#msg {width: 100%;line-height: 40px;font-size: 14px;text-align: center;
}
a:link,a:visited,a:hover,a:active {margin-left: 100px;color: #0366D6;
}
</style></head><body><div class="container"><div id="captcha" style="position: relative"></div><div id="msg"></div></div></body>

jquery内容

	<script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript">jigsaw.init(document.getElementById('captcha'), function() {document.getElementById('msg').innerHTML = '登录成功!'})</script>

引入的style.css样式

.block {position: absolute;left: 0;top: 0;
}.sliderContainer {position: relative;text-align: center;width: 310px;height: 40px;line-height: 40px;margin-top: 15px;background: #f7f9fa;color: #45494c;border: 1px solid #e4e7eb;
}.sliderContainer_active .slider {height: 38px;top: -1px;border: 1px solid #1991FA;
}.sliderContainer_active .sliderMask {height: 38px;border-width: 1px;
}.sliderContainer_success .slider {height: 38px;top: -1px;border: 1px solid #52CCBA;background-color: #52CCBA !important;
}.sliderContainer_success .sliderMask {height: 38px;border: 1px solid #52CCBA;background-color: #D2F4EF;
}.sliderContainer_success .sliderIcon {background-position: 0 0 !important;
}.sliderContainer_fail .slider {height: 38px;top: -1px;border: 1px solid #f57a7a;background-color: #f57a7a !important;
}.sliderContainer_fail .sliderMask {height: 38px;border: 1px solid #f57a7a;background-color: #fce1e1;
}.sliderContainer_fail .sliderIcon {background-position: 0 -83px !important;
}
.sliderContainer_active .sliderText, .sliderContainer_success .sliderText, .sliderContainer_fail .sliderText {display: none;
}.sliderMask {position: absolute;left: 0;top: 0;height: 40px;border: 0 solid #1991FA;background: #D1E9FE;
}.slider {position: absolute;top: 0;left: 0;width: 40px;height: 40px;background: #fff;box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);cursor: pointer;transition: background .2s linear;
}.slider:hover {background: #1991FA;
}.slider:hover .sliderIcon {background-position: 0 -13px;
}.sliderIcon {position: absolute;top: 15px;left: 13px;width: 14px;height: 10px;background: url(../img/icon_light.f13cff3.png) 0 -26px;background-size: 34px 471px;
}.refreshIcon {position: absolute;right: 0;top: 0;width: 34px;height: 34px;cursor: pointer;background: url(../img/icon_light.f13cff3.png) 0 -437px;background-size: 34px 471px;
}

如果有小伙伴看上面代码不太理解的话请看下面完整代码。

完整代码展示

页面内容

<!DOCTYPE html>
<html lang="en"><head><meta charset="UTF-8"><title>Canvas拼图验证码</title><link rel="stylesheet" href="css/style.css"><style>.container {width: 310px;margin: 100px auto;
}
#msg {width: 100%;line-height: 40px;font-size: 14px;text-align: center;
}
a:link,a:visited,a:hover,a:active {margin-left: 100px;color: #0366D6;
}
</style></head><body><div class="container"><div id="captcha" style="position: relative"></div><div id="msg"></div></div></body><script type="text/javascript" src="js/jquery.js"></script><script type="text/javascript">jigsaw.init(document.getElementById('captcha'), function() {document.getElementById('msg').innerHTML = '登录成功!'})</script>
</html>

style.css样式

.block {position: absolute;left: 0;top: 0;
}.sliderContainer {position: relative;text-align: center;width: 310px;height: 40px;line-height: 40px;margin-top: 15px;background: #f7f9fa;color: #45494c;border: 1px solid #e4e7eb;
}.sliderContainer_active .slider {height: 38px;top: -1px;border: 1px solid #1991FA;
}.sliderContainer_active .sliderMask {height: 38px;border-width: 1px;
}.sliderContainer_success .slider {height: 38px;top: -1px;border: 1px solid #52CCBA;background-color: #52CCBA !important;
}.sliderContainer_success .sliderMask {height: 38px;border: 1px solid #52CCBA;background-color: #D2F4EF;
}.sliderContainer_success .sliderIcon {background-position: 0 0 !important;
}.sliderContainer_fail .slider {height: 38px;top: -1px;border: 1px solid #f57a7a;background-color: #f57a7a !important;
}.sliderContainer_fail .sliderMask {height: 38px;border: 1px solid #f57a7a;background-color: #fce1e1;
}.sliderContainer_fail .sliderIcon {background-position: 0 -83px !important;
}
.sliderContainer_active .sliderText, .sliderContainer_success .sliderText, .sliderContainer_fail .sliderText {display: none;
}.sliderMask {position: absolute;left: 0;top: 0;height: 40px;border: 0 solid #1991FA;background: #D1E9FE;
}.slider {position: absolute;top: 0;left: 0;width: 40px;height: 40px;background: #fff;box-shadow: 0 0 3px rgba(0, 0, 0, 0.3);cursor: pointer;transition: background .2s linear;
}.slider:hover {background: #1991FA;
}.slider:hover .sliderIcon {background-position: 0 -13px;
}.sliderIcon {position: absolute;top: 15px;left: 13px;width: 14px;height: 10px;background: url(../img/icon_light.f13cff3.png) 0 -26px;background-size: 34px 471px;
}.refreshIcon {position: absolute;right: 0;top: 0;width: 34px;height: 34px;cursor: pointer;background: url(../img/icon_light.f13cff3.png) 0 -437px;background-size: 34px 471px;
}

获取更多资讯关注我呦!!!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/565807.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【OpenCV 例程200篇】88. 频率域拉普拉斯高通滤波

【OpenCV 例程200篇】88. 频率域拉普拉斯高通滤波 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 4.3 频率域拉普拉斯高通滤波 拉普拉斯算子&#xff08;Laplace&#xff09;是导数算子&#…

顶部导航栏

HTML和CSS实现顶部导航栏&#xff0c;二级菜单的实现。 原理分析&#xff1a; 1.使用ul(无需列表)嵌套ul(无序列表) 2.鼠标放上改变背景颜色 3.二级菜单的显示 效果演示&#xff1a; 初始样式 鼠标放上 代码演示 <!DOCTYPE html> <html><head><meta …

VSCode配置Python的教程

本文基于Windows系统 超详细VSCode安装教程&#xff08;Windows&#xff09; 博主的VSCode专栏&#xff1a;分享使用VSCode的基本操作与各种技巧 刚刚开始学习Python时&#xff0c;按照老师提供的傻瓜式操作配好Python后&#xff0c;发现它自带了一个ide&#xff1a;IDLE&…

【OpenCV 例程200篇】89. 带阻滤波器的传递函数

【OpenCV 例程200篇】89. 带阻滤波器的传递函数 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 5.1 带阻与带通 空间域和频率域线性滤波器可以分为四类&#xff1a;低通滤波器、高通滤波器、带…

用Python海归作图--turtle,画椭圆

想必大家都想过用Python中的turtle画出椭圆吧&#xff0c;自己思考了许久&#xff0c;终于琢磨着画出了椭圆&#xff0c;但是我不知道这个方法是不是最简单的&#xff0c;是不是正确的&#xff0c;如果有错误请指正&#xff0c;如果觉得好用就尽管拿去用&#xff0c;哈哈哈 代码…

【OpenCV 例程200篇】90. 频率域陷波滤波器

【OpenCV 例程200篇】90. 频率域陷波滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 5.2 陷波滤波器 &#xff08;Notch Filter&#xff09; 陷波滤波器阻止或通过预定的频率矩形邻域中…

简单导航栏

实现一个简单的导航栏。 使用HTML和CSS实现简单的导航栏效果&#xff0c;鼠标放上改变背景杨色。 效果演示 代码演示 <!DOCTYPE html> <html><head><meta charset"utf-8"><title></title></head><style>ul{width…

轻松学会python的turtle模块,画一箭穿心、小人儿发射爱心、520表白完整代码,海龟作图小创意

本文导航&#xff1a;若您是直接想要代码&#xff0c;那么请您移步代码区&#xff0c;复制粘贴即可;若您是想了解turtle模块更多知识的话&#xff0c;请您移步turtle模块知识区;若您想看完本文呢&#xff0c;那我定是感激涕零啦(✪ω✪) 您可以选择选择如下区域或不作选择浏览本…

【OpenCV 例程200篇】91. 高斯噪声、瑞利噪声、爱尔兰噪声

【OpenCV 例程200篇】 系列&#xff0c;持续更新中… 【OpenCV 例程200篇 总目录-202205更新】 【OpenCV 例程200篇】91. 高斯噪声、瑞利噪声、爱尔兰噪声 2. 噪声模型 数字图像中的噪声源主要来自图像获取和传输过程。在获取图像时&#xff0c;光照水平和传感器温度影响图像中…

H5 炫酷导航

使用H5和CSS制作非常炫酷的旋转标题栏。 原理分析 1.使用ul(无序列表) 2.圆形边框样式 3.透明度的设置 4.边框阴影的添加 5.li去掉前面的圆点 效果演示 初始样式 旋转动画 旋转完毕 代码演示 1 CSS样式 <style>* {margin: 0;padding: 0;}body {background: url(…

超详细VSCode安装教程(Windows)

博主的VSCode专栏&#xff1a; 分享使用VS Code的基本操作与各种技巧 下载 官网下载页面&#xff1a;https://code.visualstudio.com/Download 请根据电脑的系统与所需版本点击下载链接&#xff08;一般情况下点击Windows按钮即可&#xff09; 安装 本文成于2020年4月21日&…

【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声

【OpenCV 例程200篇】92. 指数噪声、均匀噪声、椒盐噪声 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 2. 噪声模型 数字图像中的噪声源主要来自图像获取和传输过程。在获取图像时&#xff0…

去掉li前面的圆点

在HTML中使用无序列表ul li的时候通常前面会出现一个圆点&#xff0c;那么如何把这个圆点去掉呢&#xff1f;&#xff1f;&#xff1f; 在 li 里使用&#xff1a; list-style: none; 案列演示 没有使用list-style: none; 使用list-style: none; 示例代码 <!DOCTYPE h…

自定义你的VSCode:主题、文件图标、快捷键、设置、schema、插件

推荐自己的专栏&#xff1a; 超详细VSCode安装教程&#xff08;Windows&#xff09; 请记住一点&#xff0c;VSCode中的一切快捷键操作都可以在控制面板中输入对应的命令来完成&#xff0c;并且常用命令还可以在菜单栏中找到&#xff0c;命令其实就是简单的英文词语&#xff0c…

【OpenCV 例程200篇】93. 噪声模型的直方图

【OpenCV 例程200篇】93. 噪声模型的直方图 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 2. 噪声模型 数字图像中的噪声源主要来自图像获取和传输过程。在获取图像时&#xff0c;光照水平和…

删除a标签下面的横线

在HTML中我们经常会使用a标签跳转链接&#xff0c;但是会发现a标签下面出现一个横线特别难看&#xff0c;给大家一种删除a标签下面横线的方法。 删除a标签下面横线使用&#xff1a; text-decoration: none; 效果示例 代码示例 <!DOCTYPE html> <html><head…

【OpenCV 例程200篇】94. 算术平均滤波器

【OpenCV 例程200篇】94. 算术平均滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 仅噪声存在的空间滤波图像复原 当一幅图像中唯一存在的退化是噪声时&#xff0c;退化模型简化为&a…

正则表达式表单验证

使用正则表达式验证表单中输入的内容是否符合格式。 原理分析&#xff1a; 1.失去焦点和获取焦点 2.获取内容 3.判断是否符合 4.不符合显示错误号符合显示对号 效果演示 代码演示 <!DOCTYPE html> <html> <head lang"en"><meta charset"…

罗盘时钟

用HTML和CSS以及JavaScript实现罗盘时钟。 原理分析&#xff1a; 1.年月日时分秒的定义 2.定时器的使用 3.分钟到小时如何变化 4.定义数组存放内容 效果演示 初始状态 时间显示 代码展示 HTML内容 <!DOCTYPE html> <html lang"en"> <head>…

【OpenCV 例程200篇】95. 几何均值滤波器

【OpenCV 例程200篇】95. 几何均值滤波器 欢迎关注 『OpenCV 例程200篇』 系列&#xff0c;持续更新中 欢迎关注 『Python小白的OpenCV学习课』 系列&#xff0c;持续更新中 3. 仅噪声存在的空间滤波图像复原 当一幅图像中唯一存在的退化是噪声时&#xff0c;退化模型简化为&a…