vue实现滑动验证

效果图:

源码地址:github文档地址: https://github.com/monoplasty/vue-monoplasty-slide-verify

使用步骤:1,安装插件:

npm install --save vue-monoplasty-slide-verify

在main.js中使用一下,

import Vue from 'vue'
import SlideVerify from 'vue-monoplasty-slide-verify';
Vue.use(SlideVerify);

在页面中使用:

<template>
  <!-- 滑动验证插件 SLIDEVERIFY 的使用 -->
  <div class="divout">
    <slide-verify
      :l="42"
      :r="10"
      :w="310"
      :h="155"
      ref="slideblock"
      @again="onAgain"
      @fulfilled="onFulfilled"
      @success="onSuccess"
      @fail="onFail"
      @refresh="onRefresh"
      :slider-text="text"
      :accuracy="accuracy"
      :imgs="imgs"
    ></slide-verify>
  </div>
</template>

<script>
// prop参数说明
// 参数 类型 备注
// l Number 滑块边长
// r Number 滑块突出圆形半径
// w Number canvas width
// h Number canvas height
// sliderText String 滑块底部文字
// imgs Array picture array 背景图数组,默认值 []
// accuracy Number 滑动验证的误差范围,默认值 5
// show Boolean 是否显示刷新按钮,默认值 true

// 回调函数
// 回调函数 备注
// success success callback(返回时间参数,单位为毫秒)
// fail fail callback
// refresh 点击刷新按钮后的回调函数
// again 检测到非人为操作滑动时触发的回调函数
// fulfilled 刷新成功之后的回调函数
export default {
  data() {
    return {
      text: "向右滑动->", // 设置滑块文字
      // 精确度小,可允许的误差范围小;为1时,则表示滑块要与凹槽完全重叠,才能验证成功。默认值为5
      accuracy: 2,
      imgs: [
        "https://img1.baidu.com/it/u=1890390320,3399874998&fm=253&fmt=auto&app=120&f=JPEG?w=1422&h=800",
        "https://img1.baidu.com/it/u=1546227440,2897989905&fm=253&fmt=auto&app=138&f=JPEG?w=889&h=500",
        "https://lmg.jj20.com/up/allimg/1113/052420110515/200524110515-1-1200.jpg",
        "https://lmg.jj20.com/up/allimg/1114/0G020114924/200G0114924-11-1200.jpg",
      ],
    };
  },
  methods: {
    // 验证通过
    onSuccess(times) {
      console.log("验证通过,耗时 " + times + "毫秒");
    },
    // 验证失败
    onFail() {
      console.log("验证不通过");
    },
    // 滑块上的刷新
    onRefresh() {
      console.log("点击了刷新小图标");
    },
    // 刷新后执行的回调函数
    onFulfilled() {
      console.log("刷新成功啦!");
    },
    // 检测是否人为操作
    onAgain() {
      console.log("检测到非人为操作的哦!");
      this.msg = "try again";
      // 刷新
      this.$refs.slideblock.reset();
    },
    // 重置刷新
    handleClick() {
      this.$refs.slideblock.reset();
    },
  },
};
</script>
<style scoped>
</style>

prop参数说明
参数 类型 备注
l Number 滑块边长
r Number 滑块突出圆形半径
w Number canvas width
h Number canvas height
sliderText String 滑块底部文字
imgs Array picture array 背景图数组,默认值 []
accuracy Number 滑动验证的误差范围,默认值 5
show Boolean 是否显示刷新按钮,默认值 true

回调函数
回调函数 备注
success success callback(返回时间参数,单位为毫秒)
fail fail callback
refresh 点击刷新按钮后的回调函数
again 检测到非人为操作滑动时触发的回调函数
fulfilled 刷新成功之后的回调函数

  • 10
    点赞
  • 14
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
滑动效果验证代码可以使用Vue和一些其他的库来实现。下面是一个使用Vue和Element UI库来实现滑动效果验证的示例代码: ```html <!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8"> <meta name="viewport" content="width=device-width, initial-scale=1.0"> <title>滑动效果验证代码</title> <!-- 引入Vue库 --> <script src="https://cdn.jsdelivr.net/npm/vue/dist/vue.js"></script> <!-- 引入Element UI库 --> <link rel="stylesheet" href="https://unpkg.com/element-ui/lib/theme-chalk/index.css"> <script src="https://unpkg.com/element-ui/lib/index.js"></script> </head> <body> <div id="app"> <el-slider v-model="sliderValue" :max="100" @change="checkSlider"></el-slider> <p v-if="valid">验证通过!</p> <p v-else>请拖动滑块以验证</p> </div> <script> new Vue({ el: '#app', data: { sliderValue: 0, valid: false }, methods: { checkSlider() { if (this.sliderValue === 100) { this.valid = true; } else { this.valid = false; } } } }); </script> </body> </html> ``` 上述代码使用了Vue和Element UI库。通过`el-slider`组件实现了一个滑动条,使用`v-model`指令将滑块的值与`sliderValue`变量进行双向绑定。 在`checkSlider`方法中,我们通过判断`sliderValue`的值是否等于100来验证滑块是否完成滑动。如果验证通过,`valid`变量设为`true`,显示"验证通过!"的提示;如果未通过,则显示"请拖动滑块以验证"的提示。 这是一个简单的示例,您可以根据实际需求进行进一步的定制和扩展。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

学而时习之不亦说乎。

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值