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;

}

{{confirmWords}}

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没有后台验证步骤)相关推荐

  1. Html+Css+Js表单验证(正则表达式)

    Html部分 <!DOCTYPE html> <html>     <head>         <meta charset="utf-8" ...

  2. css滑动星星评分,纯css3滑动星星打分动画特效

    特效描述:纯css3 滑动星星打分动画.纯css3滑动星星打分动画特效 代码结构 1. 引入CSS 2. HTML代码 基本样式: Basic star rating: 5 stars 4 stars ...

  3. HTML5网页设计期末大作业 ~金福普洱茶叶网页设计成品6页面带视频留言验证(HTML+CSS+JS)~ 学生hbuilder网页设计作业成品源码

    作品介绍 1.网页作品简介 :采用html+css+js表单验证 2.网页作品编辑:作品下载后可使用任意HTML编辑软件(如:DW.HBuilder.NotePAD .Vscode .Sublime ...

  4. JS表单验证(HTML+CSS+JS)详细教程

    大家好,今天分享一个HTML+CSS+JS表单验证,这是我前两天学习的一个小demo,在这记录一下. 目录 一.效果图 二.介绍 三.代码 (1)HTML (2)CSS (3)JavaScript J ...

  5. Vue项目在页面添加水印功能

    Vue项目在页面添加水印功能 创建watermark.js文件 let watermark = {}let setWatermark = (str) => {let id = '1.234523 ...

  6. vue拖动滑块验证组件

    组件Slider.vue <template><div class="drag" ref="dragDiv"><div class ...

  7. vue 实现一个滑块拖动验证功能

    具体的代码如下: <!DOCTYPE html> <html><head><meta charset="UTF-8"><tit ...

  8. 拖动滑块验证--vue实现

    代码引用的css与js都是线上的 将代码全部复制到一个html中可以直接打开,极其简单. 来分析一下代码 底色div上放了一个变色div再放一个提示字的div最后加一个滑块div 给滑块div绑定鼠标 ...

  9. vue 插件 滑块验证_VUE接入腾讯验证码功能(滑块验证)备忘

    最近在用VUE做个简单的用户系统,登录注册需要验证码,想找个那种拖动的,找geetest居然已经不面向小客户了(或者说只有收费套餐). 腾讯防水墙的验证码免费使用,有2000/小时的免费额度,对于小网 ...

最新文章

  1. 学习《Linux设备模型浅析之设备篇》笔记(深挖一)
  2. 将Quartz.NET集成到 Castle中
  3. 一致性哈希算法介绍,及java实现
  4. ip地址检查正则表达式 兼容ipv4,ipv6
  5. 学习string,stringBuffer时遇到的问题
  6. Hadoop入门(二十一)Mapreduce的求和程序
  7. 计算机中常用术语CAD是指,计算机基础知识理论复习题及答案
  8. python和java哪个好学-Java和Python去学哪个好
  9. openstack部署过程中问题记录
  10. 分享一个棋力很强的象棋应用和一个强大的开局库
  11. VS2015安装使用番茄助手Visual Assist
  12. smart3d加载到谷歌_Android Google Smart Lock
  13. 漫威电影(复仇者联盟)系列观看顺序和资源下载地址
  14. java代码下划线是啥意思_java类名加下划线
  15. 时序数据库在船舶风险管理领域的应用
  16. 计算机类部分核心期刊说明
  17. 做PPT总也做不好怎么办?掌握一些PPT制作小技巧
  18. Qt5 WindonwsTTS语音朗读 文字 朗读
  19. Unity 人形动画、动画切割、Animator
  20. 小保养多,大保养少 别克英朗保养详解

热门文章

  1. 什么是最好的Golang IDE?
  2. 原生JS实现——flappy bird 像素小鸟 项目总结
  3. 分享一款在线仿站源码 简单好用的扒站平台
  4. Halcon动态阈值分割
  5. 表单的一些样式以及属性
  6. 算法导论答案 第10章:基本数据结构
  7. SqlServer各版本下载(2016-2019)
  8. Oracle ERP 常用查询:R12客户表
  9. mybatis ognl表达式
  10. 利用ZendStudio对PHP动态调试