国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > JavaScript > 正文

Vue 實現拖動滑塊驗證功能(只有css+js沒有后臺驗證步驟)

2019-11-19 13:10:22
字體:
來源:轉載
供稿:網友

vue驗證滑塊功能,在生活中很多地方都可以見到,那么使用起來非常方便,基于vue如何實現滑塊驗證呢?下面通過代碼給大家講解。

效果圖如下所示:

拖動前

拖動后

代碼引用的css與js都是線上的
將代碼全部復制到一個html中可以直接打開,極其簡單。
來分析一下代碼
底色div上放了一個變色div再放一個提示字的div最后加一個滑塊div
給滑塊div綁定鼠標移動事件

<!DOCTYPE html><html> <head>  <meta charset="UTF-8">  <title></title>  <style scoped>   .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;   }  </style> </head> <body>  <div id="app">   <div class="drag" >    <div class="drag_bg"></div>    <div class="drag_text">{{confirmWords}}</div>    <div @mousedown="mousedownFn($event)" class="handler handler_bg"></div>   </div>  </div>  <script src="https://cdn.jsdelivr.net/npm/vue"></script>  <script src="https://unpkg.com/element-ui/lib/index.js"></script>  <script src="http://libs.baidu.com/jquery/2.1.4/jquery.min.js"></script>  <script>   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       });      }     })    }   });  </script> </body></html>

總結

以上所述是小編給大家介紹的Vue 實現拖動滑塊驗證功能(只有css+js沒有后臺驗證步驟),希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對武林網網站的支持!

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 绥化市| 达拉特旗| 肥城市| 金平| 阳东县| 麻城市| 平泉县| 叶城县| 濮阳市| 张掖市| 霍邱县| 刚察县| 庐江县| 巩义市| 南阳市| 南安市| 静乐县| 金湖县| 岢岚县| 华容县| 江陵县| 琼结县| 舞钢市| 雅江县| 五大连池市| 周口市| 上蔡县| 长顺县| 河间市| 财经| 泽库县| 石泉县| 富宁县| 西吉县| 奎屯市| 遂溪县| 平果县| 安西县| 泾源县| 故城县| 玉山县|