滑块拖动验证

这篇具有很好参考价值的文章主要介绍了滑块拖动验证。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

效果

滑块拖动验证,vue,javascript,前端,vue.js
滑块拖动验证,vue,javascript,前端,vue.js

代码

svg图标

初始图标

<svg t="1705397535958" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="1492" width="200" height="200"><path d="M535.620267 225.826133l-60.347734 60.347734 225.8432 225.809066-225.8432 225.8432 60.347734 60.347734 256-256L821.794133 512 535.620267 225.826133z m-273.066667 0l-60.347733 60.347734 225.8432 225.809066-225.8432 225.8432 60.347733 60.347734 256-256L548.727467 512 262.5536 225.826133z" p-id="1493"></path></svg>

成功的图标文章来源地址https://www.toymoban.com/news/detail-795930.html

<svg t="1705397990586" class="icon" viewBox="0 0 1024 1024" version="1.1" xmlns="http://www.w3.org/2000/svg" p-id="2463" width="200" height="200"><path d="M512 0C229.003636 0 0 229.003636 0 512s229.003636 512 512 512 512-229.003636 512-512S794.996364 0 512 0z m260.654545 425.425455l-279.272727 279.272727c-5.585455 5.585455-13.032727 9.309091-21.410909 9.309091-10.24 1.861818-20.48-0.930909-27.927273-8.378182l-175.941818-176.872727a30.906182 30.906182 0 0 1 0-43.752728l14.894546-14.894545c12.101818-12.101818 31.650909-12.101818 43.752727 0l141.498182 141.498182 244.829091-244.829091c12.101818-12.101818 31.650909-12.101818 43.752727 0L772.654545 381.672727c12.101818 12.101818 12.101818 31.650909 0 43.752728z" fill="#65B85D" p-id="2464"></path></svg>

vue组件

<template>
  <div class="slider-container">
    <div
      class="slider-left"
      :style="{
        width: moveX + 'px',
        opacity: state ? '1' : '0.8',
      }"
      v-text="text"
    ></div>
    <div class="slide" :style="{ left: moveX + 'px' }" @mousedown="handleMouseDown">
      <svg-icon :iconClass="state ? 'success' : 'drag'" className="drag" />
    </div>
    <div class="slider-right" style="padding-left: 64px">请按住滑动块,拖到最右</div>
  </div>
</template>

<script>
export default {
  name: 'LoginSlideVerify',

  data() {
    return {
      state: false, // 认证状态
      initX: 0, // 初始值
      moveX: 0,
      text: '',
    };
  },

  mounted() {},

  methods: {
    handleMouseDown(event) {
      if (this.state) return;
      this.initX = event.clientX;
      const that = this;
      document.onmousemove = function (e) {
        if (that.initX === 0) return;
        const curX = e.clientX;
        const moveX = curX - that.initX;
        that.moveX = moveX;
        if (moveX < 0) {
          that.moveX = 0;
        }
        // 认证成功
        const max = 320 - 64;
        if (moveX >= max) {
          that.moveX = max;
          that.initX = 0;
          that.state = true;
          that.text = '验证通过';
        }
      };
      document.onmouseup = function () {
        document.onmousemove = null;
        if (that.moveX < 256) {
          that.initX = 0;
          that.moveX = 0;
        }
      };
    },
  },
};
</script>

<style lang="scss" scoped>
.slider-container {
  user-select: none; // 禁止用户选中
  position: relative;
}
.slider-left {
  position: absolute;
  left: 0;
  top: 0;
  height: 48px;
  line-height: 48px;
  font-size: 13.7143px;
  color: rgb(255, 255, 255);
  font-weight: 600;
  background-color: rgb(43, 186, 111);
}
.slider-right {
  width: 320px;
  height: 48px;
  line-height: 48px;
  text-align: center;
  color: rgb(153, 153, 153);
  border: 1px solid #ccc;
  border-radius: 3px;
  box-sizing: border-box;
  background-color: rgb(238, 238, 238);
}
.slide {
  width: 64px;
  height: 48px;
  line-height: 48px;
  position: absolute;
  left: 0;
  top: 0;
  border-radius: 3px;
  border: 1px solid #ccc;
  z-index: 6;
  background-color: #fff;
  cursor: move;
  text-align: center;
  box-sizing: border-box;
  .drag {
    width: 16px;
    height: 16px;
  }
}
</style>

到了这里,关于滑块拖动验证的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Vue中拖动排序功能,引入SortableJs,前端拖动排序。

    背景: 作为一名前端开发人员,在工作中难免会遇到拖拽功能,分享一个github上一个不错的拖拽js库,能满足我们在项目开发中的需要,支持Vue和React,下面是我在vue后台项目中中使用SortableJS的使用详细流程; 安装: 需要使用的页面引入 js代码 在页面生命周期mounted()的时候

    2024年02月12日
    浏览(35)
  • uniapp-vue2-微信小程序-滑块验证组件wo-slider

    wo-slider是一款支持高度自定义的滑块验证组件,采用uniapp-vue2编写 采用touchstart、touchmove、touchend事件实现的滑块组件,支持H5、微信小程序(其他小程序未试过,可自行尝试) 可到插件市场下载尝试: https://ext.dcloud.net.cn/search?q=wo-slider 使用示例

    2024年02月07日
    浏览(38)
  • 前端Vue3+TS实现视频放大缩小,放大后实现视频的拖动+拖动边框限制

    最近实现了一个新的需求,大体内容是要对所播放的视频做一个放大缩小的处理,同时在视频放大的同时要实现视频的一个拖拽,拖拽的同时,要对视频拖动的范围作出一个限制,下面来看看我的一个实现的思路。 技术栈:Vue3.2 + TS 1.放大缩小采用的形式是什么? 2.拖动实现

    2024年01月25日
    浏览(42)
  • python selenium模拟登录某网站的滑块拖动操作

    参考文章: https://blog.csdn.net/u010945216/article/details/120838385

    2024年02月16日
    浏览(44)
  • Vue+element table+原生js +touch触摸事件实现移动端横向拖动

    Vue+element table+原生js +touch触摸事件实现移动端横向拖动 今天做移动端项目时,想加个表格展示数据,但是调试的时候发现,表格数据很多时,想要触屏左右滑动内容,但是滑动不了,又不想引用插件实现,只好自己写个拖拽事件了

    2024年02月17日
    浏览(45)
  • JavaScript - 判断当前时间是否在指定区间内,例如:9:00~12:00(检查当前时间是否处于规定的两个时间段范围内),适用于 vue.js / uniapp / 微信小程序等前端项目

    例如,您想知道当前时间是否处于 9:00 ~ 12:00 时间区间内,然后根据这个判断进而实现业务逻辑。 如下示例所示, 本文提供一个函数,您只需要传入 2 个时间区间,便可得出当前时间是否在该时间区间范围内: 您可以一键复制,直接粘贴到您的项目中。 您只需要传入开始时

    2024年02月16日
    浏览(60)
  • 使用node.js给前端发送一个图像验证码

    相信写过node的小伙伴都对此有相关了解 首先导入需要的包(//后有解释) const mysql = require(\\\"mysql\\\");   //用于创建和管理 MySQL 连接池。 const express = require(\\\"express\\\");//用于构建 Web 应用程序。 const app = express(); const interface = require(\\\"./interface\\\"); const bodyParser = require(\\\"body-parser\\\"); //用于

    2024年01月17日
    浏览(77)
  • jQuery.js - 前端必备的Javascript库

    作者: WangMin 格言: 努力做好自己喜欢的每一件事 jQuery.js 是什么? jQuery是一个快速简洁、免费开源易用的JavaScript框架, 倡导写更少的代码,做更多的事情 。它封装JavaScript常用的功能代码,提供了一种简便的JavaScript设计模式,以及我们开发中常用到的操作DOM的API,优化HTML文

    2024年02月05日
    浏览(71)
  • web前端框架JS学习之JavaScript类型转换

    vascript有多种数据类型,如字符串、数字、布尔等,可以通过typeof语句来查看变量的数据类型。数据类型转换就是数据类型之间相互转换,比如把数字转成字符串、把布尔值转成字符串、把字符串转成数字等,这在工作也是经常碰到的。 本期我们就给大家说说web前端框架JS学

    2024年02月10日
    浏览(59)
  • 使用opencv识别滑块验证

    对于某些简单的滑块,无需进行模型训练,可以使用opencv就能识别,比如: 有一种常用方法cv2.matchTemplate,可以将滑动的图案与背景图案进行模板匹配,这种方法适用于滑动图案与背景图片中目标位置有相同图案的情况。 但是本文想介绍的是另一种:背景中目标位置是空白的

    2024年03月10日
    浏览(38)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包