滑动验证实现

滑动验证

 

  • 效果示例图

  • 实现原理

鼠标按下、移动、松开的之后,通过鼠标松开之后与初始位置的偏移量加上滑动块的宽度来计算滑动进度的div的宽度,在内层的滑动块始终向右浮动就行了。

鼠标移动过程中,越界问题处理

// 移动鼠标
document.onmousemove = function (e) {
    // 记录滑动的进度长度
    let objX = e.clientX - disX + btnWidth;
    // 滑动过程中,向左越界处理
    if (objX < btnWidth) {
        objX = btnWidth;
    }
    // 滑动过程中,向右越界处理
    if (objX > slideBoxWidth) {
        objX = slideBoxWidth;
    }
    // 改变滑动进度宽度
    $('#slide_xbox').width(objX + 'px');
};

鼠标松开之后,判断进度div的宽度与滑动条的总宽度进行比较(进度条是否拉满)

// 松开鼠标
document.onmouseup = function (e) {
    document.onmousemove = null;
    document.onmouseup = null;
    // 记录滑动的进度长度
    let objX = e.clientX - disX + btnWidth;
    // 进度条是否拉满
    if (objX < slideBoxWidth) {
        // 进度条未拉满,恢复到初始宽度
        $('#slide_xbox').width(btnWidth + 'px');
    } else {
        // 进度条拉满,保持宽度不变
        $('#slide_xbox').width(slideBoxWidth + 'px').html('验证通过<div id="btn"></div>');
        $('#btn').css('background-image', 'url(img/wancheng.png)');
        alert("验证成功!");
    }
};
  • 其他

附demo压缩包

点击下载==》滑动验证.7z

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值