css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)
vue验证滑块功能,在生活中很多地方都可以见到,那么使用起来非常方便,基于vue如何实现滑块验证呢?下面通过代码给大家讲解。
效果图如下所示:
拖动前
拖动后
代码引用的css与js都是线上的
将代码全部复制到一个html中可以直接打开,极其简单。
来分析一下代码
底色div上放了一个变色div再放一个提示字的div最后加一个滑块div
给滑块div绑定鼠标移动事件
.drag {
border-radius:30px;
position: relative;
background-color: #75CDF9;
width: 300px;
height: 34px;
margin-left: 30px;
margin-top: 100px;
line-height: 34px;
text-align: center;
}
.handler {
border-radius:30px;
position: absolute;
top: 0px;
left: 0px;
width: 40px;
height: 32px;
border: 1px solid #ccc;
cursor: move;
}
.handler_bg {
background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NTEyNTVEMURGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NTEyNTVEMUNGMkVFMTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDo2MTc5NzNmZS02OTQxLTQyOTYtYTIwNi02NDI2YTNkOWU5YmUiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+YiRG4AAAALFJREFUeNpi/P//PwMlgImBQkA9A+bOnfsIiBOxKcInh+yCaCDuByoswaIOpxwjciACFegBqZ1AvBSIS5OTk/8TkmNEjwWgQiUgtQuIjwAxUF3yX3xyGIEIFLwHpKyAWB+I1xGSwxULIGf9A7mQkBwTlhBXAFLHgPgqEAcTkmNCU6AL9d8WII4HOvk3ITkWJAXWUMlOoGQHmsE45ViQ2KuBuASoYC4Wf+OUYxz6mQkgwAAN9mIrUReCXgAAAABJRU5ErkJggg==") no-repeat center;
}
.handler_ok_bg {
background: #fff url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAA3hpVFh0WE1MOmNvbS5hZG9iZS54bXAAAAAAADw/eHBhY2tldCBiZWdpbj0i77u/IiBpZD0iVzVNME1wQ2VoaUh6cmVTek5UY3prYzlkIj8+IDx4OnhtcG1ldGEgeG1sbnM6eD0iYWRvYmU6bnM6bWV0YS8iIHg6eG1wdGs9IkFkb2JlIFhNUCBDb3JlIDUuNS1jMDIxIDc5LjE1NTc3MiwgMjAxNC8wMS8xMy0xOTo0NDowMCAgICAgICAgIj4gPHJkZjpSREYgeG1sbnM6cmRmPSJodHRwOi8vd3d3LnczLm9yZy8xOTk5LzAyLzIyLXJkZi1zeW50YXgtbnMjIj4gPHJkZjpEZXNjcmlwdGlvbiByZGY6YWJvdXQ9IiIgeG1sbnM6eG1wTU09Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC9tbS8iIHhtbG5zOnN0UmVmPSJodHRwOi8vbnMuYWRvYmUuY29tL3hhcC8xLjAvc1R5cGUvUmVzb3VyY2VSZWYjIiB4bWxuczp4bXA9Imh0dHA6Ly9ucy5hZG9iZS5jb20veGFwLzEuMC8iIHhtcE1NOk9yaWdpbmFsRG9jdW1lbnRJRD0ieG1wLmRpZDo0ZDhlNWY5My05NmI0LTRlNWQtOGFjYi03ZTY4OGYyMTU2ZTYiIHhtcE1NOkRvY3VtZW50SUQ9InhtcC5kaWQ6NDlBRDI3NjVGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcE1NOkluc3RhbmNlSUQ9InhtcC5paWQ6NDlBRDI3NjRGMkQ2MTFFNEI5NDBCMjQ2M0ExMDQ1OUYiIHhtcDpDcmVhdG9yVG9vbD0iQWRvYmUgUGhvdG9zaG9wIENDIDIwMTQgKE1hY2ludG9zaCkiPiA8eG1wTU06RGVyaXZlZEZyb20gc3RSZWY6aW5zdGFuY2VJRD0ieG1wLmlpZDphNWEzMWNhMC1hYmViLTQxNWEtYTEwZS04Y2U5NzRlN2Q4YTEiIHN0UmVmOmRvY3VtZW50SUQ9InhtcC5kaWQ6NGQ4ZTVmOTMtOTZiNC00ZTVkLThhY2ItN2U2ODhmMjE1NmU2Ii8+IDwvcmRmOkRlc2NyaXB0aW9uPiA8L3JkZjpSREY+IDwveDp4bXBtZXRhPiA8P3hwYWNrZXQgZW5kPSJyIj8+k+sHwwAAASZJREFUeNpi/P//PwMyKD8uZw+kUoDYEYgloMIvgHg/EM/ptHx0EFk9I8wAoEZ+IDUPiIMY8IN1QJwENOgj3ACo5gNAbMBAHLgAxA4gQ5igAnNJ0MwAVTsX7IKyY7L2UNuJAf+AmAmJ78AEDTBiwGYg5gbifCSxFCZoaBMCy4A4GOjnH0D6DpK4IxNSVIHAfSDOAeLraJrjgJp/AwPbHMhejiQnwYRmUzNQ4VQgDQqXK0ia/0I17wJiPmQNTNBEAgMlQIWiQA2vgWw7QppBekGxsAjIiEUSBNnsBDWEAY9mEFgMMgBk00E0iZtA7AHEctDQ58MRuA6wlLgGFMoMpIG1QFeGwAIxGZo8GUhIysmwQGSAZgwHaEZhICIzOaBkJkqyM0CAAQDGx279Jf50AAAAAABJRU5ErkJggg==") no-repeat center;
}
.drag_bg {
border-radius:30px;
background-color: #13CE66;
height: 34px;
width: 0px;
}
.drag_text {
position: absolute;
top: 0px;
width: 300px;
-moz-user-select: none;
-webkit-user-select: none;
user-select: none;
-o-user-select: none;
-ms-user-select: none;
}
var vm = new Vue({
el: "#app",
name: '',
components: {},
props: {},
data() {
return {
beginClientX: 0,
/*距离屏幕左端距离*/
mouseMoveStata: false,
/*触发拖动状态 判断*/
maxwidth: 258,
/*拖动最大宽度,依据滑块宽度算出来的*/
confirmWords: '拖动滑块验证',
/*滑块文字*/
confirmSuccess: false, /*验证成功判断*/
}
},
created() {},
watch: {
},
methods: {
mousedownFn: function(e) {
this.mouseMoveStata = true;
this.beginClientX = e.clientX;
}, //按下滑块函数
successFunction() {
$(".handler").removeClass('handler_bg').addClass('handler_ok_bg');
this.confirmWords = '验证通过'
$(".drag").css({
'color': '#fff'
});
$(".drag").css({
'background-color': '#13CE66'
});
$(".handler").css({
'left': this.maxwidth
});
$(".drag_bg").css({
'width': this.maxwidth
});
$('body').unbind('mousemove');
$('body').unbind('mouseup');
this.confirmSuccess = true;
} //验证成功函数
},
mounted() {
$('body').on('mousemove', (e) => {
//拖动,这里需要用箭头函数,不然this的指向不会是vue对象
if(this.mouseMoveStata) {
var width = e.clientX - this.beginClientX;
if(width > 0 && width <= this.maxwidth) {
$(".handler").css({
'left': width
});
$(".drag_bg").css({
'width': width
});
} else if(width > this.maxwidth) {
this.successFunction();
}
}
});
$('body').on('mouseup', (e) => {
//鼠标放开
this.mouseMoveStata = false;
var width = e.clientX - this.beginClientX;
if(width < this.maxwidth) {
$(".handler").css({
'left': 0
});
$(".drag_bg").css({
'width': 0
});
}
})
}
});
总结
以上所述是小编给大家介绍的Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤),希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对脚本之家网站的支持!
css3 滑动验证,Vue 实现拖动滑块验证功能(只有css+js没有后台验证步骤)相关推荐
- Html+Css+Js表单验证(正则表达式)
Html部分 <!DOCTYPE html> <html> <head> <meta charset="utf-8" ...
- css滑动星星评分,纯css3滑动星星打分动画特效
特效描述:纯css3 滑动星星打分动画.纯css3滑动星星打分动画特效 代码结构 1. 引入CSS 2. HTML代码 基本样式: Basic star rating: 5 stars 4 stars ...
- HTML5网页设计期末大作业 ~金福普洱茶叶网页设计成品6页面带视频留言验证(HTML+CSS+JS)~ 学生hbuilder网页设计作业成品源码
作品介绍 1.网页作品简介 :采用html+css+js表单验证 2.网页作品编辑:作品下载后可使用任意HTML编辑软件(如:DW.HBuilder.NotePAD .Vscode .Sublime ...
- JS表单验证(HTML+CSS+JS)详细教程
大家好,今天分享一个HTML+CSS+JS表单验证,这是我前两天学习的一个小demo,在这记录一下. 目录 一.效果图 二.介绍 三.代码 (1)HTML (2)CSS (3)JavaScript J ...
- Vue项目在页面添加水印功能
Vue项目在页面添加水印功能 创建watermark.js文件 let watermark = {}let setWatermark = (str) => {let id = '1.234523 ...
- vue拖动滑块验证组件
组件Slider.vue <template><div class="drag" ref="dragDiv"><div class ...
- vue 实现一个滑块拖动验证功能
具体的代码如下: <!DOCTYPE html> <html><head><meta charset="UTF-8"><tit ...
- 拖动滑块验证--vue实现
代码引用的css与js都是线上的 将代码全部复制到一个html中可以直接打开,极其简单. 来分析一下代码 底色div上放了一个变色div再放一个提示字的div最后加一个滑块div 给滑块div绑定鼠标 ...
- vue 插件 滑块验证_VUE接入腾讯验证码功能(滑块验证)备忘
最近在用VUE做个简单的用户系统,登录注册需要验证码,想找个那种拖动的,找geetest居然已经不面向小客户了(或者说只有收费套餐). 腾讯防水墙的验证码免费使用,有2000/小时的免费额度,对于小网 ...
最新文章
- 学习《Linux设备模型浅析之设备篇》笔记(深挖一)
- 将Quartz.NET集成到 Castle中
- 一致性哈希算法介绍,及java实现
- ip地址检查正则表达式 兼容ipv4,ipv6
- 学习string,stringBuffer时遇到的问题
- Hadoop入门(二十一)Mapreduce的求和程序
- 计算机中常用术语CAD是指,计算机基础知识理论复习题及答案
- python和java哪个好学-Java和Python去学哪个好
- openstack部署过程中问题记录
- 分享一个棋力很强的象棋应用和一个强大的开局库
- VS2015安装使用番茄助手Visual Assist
- smart3d加载到谷歌_Android Google Smart Lock
- 漫威电影(复仇者联盟)系列观看顺序和资源下载地址
- java代码下划线是啥意思_java类名加下划线
- 时序数据库在船舶风险管理领域的应用
- 计算机类部分核心期刊说明
- 做PPT总也做不好怎么办?掌握一些PPT制作小技巧
- Qt5 WindonwsTTS语音朗读 文字 朗读
- Unity 人形动画、动画切割、Animator
- 小保养多,大保养少 别克英朗保养详解