html滑动解锁,js实现滑动解锁效能(PC+Moblie)

html滑动解锁,js实现滑动解锁效能(PC+Moblie)js实现滑动解锁功能(PC+Moblie)实现效果:css样式代码略。html代码:页面上导入了jquery.mobile、jquerySlidetoconfirmIamhuman!js代码:window.onload=function(){varslider1=newSlider();slider1.Init();///屏幕大小发生改变时触发$(window).res…

大家好,又见面了,我是你们的朋友全栈君。

js实现滑动解锁功能(PC+Moblie)

实现效果:

152628103.png

css样式代码略。

html代码:

页面上导入了jquery.mobile 、jquery

Slide to confirm I am human!

js代码:

window.onload = function () {

var slider1 = new Slider();

slider1.Init();

///屏幕大小发生改变时触发

$(window).resize(function () {

slider1.HanderIn();

slider1.HanderOut();

});

}

//滑动条对象

function Slider(swipestart, min, max, index, IsOk, lableIndex) {

var _self = this;

//是否开始滑动

_self.swipestart = swipestart;

//最小值

_self.min = min;

//最大值

_self.max = max;

//当前滑动条所处的位置

_self.index = index;

//是否滑动成功

_self.IsOk = IsOk;

//鼠标在滑动按钮的位置

_self.lableIndex = lableIndex;

}

//初始化

Slider.prototype.Init = function () {

var _self = this;

$(“#label”).on(“mousedown”, function (event) {

var e = event || window.event;

_self.lableIndex = e.clientX – this.offsetLeft;

_self.HanderIn();

});

$(“#pageSlide”).on(“mousemove”, function (event) {

_self.HanderMove(event);

});

$(document).on(“mouseup”, function (event) {

_self.HanderOut();

});

$(“#label”).on(“touchstart”, function (event) {

var e = event || window.event;

_self.lableIndex = e.originalEvent.pageX – this.offsetLeft;

_self.HanderIn();

});

$(“#pageSlide”).on(“touchmove”, function (event) {

_self.HanderMove(event, “mobile”);

});

$(document).on(“touchend”, function (event) {

_self.HanderOut();

});

}

//鼠标/手指接触滑动按钮

Slider.prototype.HanderIn = function () {

var _self = this;

_self.swipestart = true;

_self.min = 0;

_self.max = $(“#slider”).width();

}

//鼠标/手指移出

Slider.prototype.HanderOut = function () {

var _self = this;

//停止

_self.swipestart = false;

_self.Move();

}

//鼠标/手指移动

Slider.prototype.HanderMove = function (event, type) {

var _self = this;

if (_self.swipestart) {

event.preventDefault();

var event = event || window.event;

if (type == “mobile”) {

_self.index = event.originalEvent.pageX – _self.lableIndex;

} else {

_self.index = event.clientX – _self.lableIndex;

}

_self.Move();

}

}

//鼠标/手指移出

Slider.prototype.Move = function () {

var _self = this;

$(“.warn”).text(“index:” + _self.index + “, max” + _self.max + “,lableIndex:” + _self.lableIndex + “,value:” + $(“#captcha”).val() + ” date:” + new Date().getUTCDate());

if ((_self.index + 20) >= _self.max) {

_self.index = _self.max – 20;

}

if (_self.index < 0) {

_self.index = _self.min;

}

$(“.label”).css(“left”, _self.index + “px”);

if (_self.index == (_self.max – 20)) {

//停止

_self.swipestart = false;

_self.IsOk = true;//解锁

$(“#captcha”).val(1);

var style = {“filter”: “alpha(opacity=1)”,

“-moz-opacity”: “1”, “opacity”: “1”}

$(“.ui-btn.ui-input-btn.ui-corner-all.ui-shadow”).css(style);

$(“#slider”).css(“background-color”, “#E5EE9F”);

$(“#lableTip”).text(“Thank You!”);

} else {

_self.IsOk = false;//未解锁

$(“#captcha”).val(0);

var style = { “filter”: “alpha(opacity=0.2)”,

“-moz-opacity”: “0.2”, “opacity”: “0.2”}

$(“.ui-btn.ui-input-btn.ui-corner-all.ui-shadow”).css(style);

$(“#slider”).css(“background-color”, “#FDEB9C”);

$(“#lableTip”).text(“Slide to confirm I am human!”);

}

}

效果实现:

152628104.jpg

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/150570.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 远程服务器监控工具rtop安装和使用小结

    远程服务器监控工具rtop安装和使用小结1.概况rtop是一个使用go语言编写的、简单的、无代理的远程服务器监控工具,基于SSH连接进行工作。rtop无需在被监控的服务器上安装任何软件,而是通过SSH直接连接到待监控服务器,然后执行命令来收集监控数据。rtop默认每五秒钟就自动更新监控数据,与其他*top命令类似。2.安装rtop下载源码并构建(注:github和rtop官网的安装指南里,访问的是http而非ht

    2022年6月3日
    53
  • 接口与抽象类的区别

    接口和抽象类有什么区别你选择使用接口和抽象类的依据是什么?接口和抽象类的概念不一样。接口是对动作的抽象,抽象类是对根源的抽象。抽象类表示的是,这个对象是什么。接口表示的是,这个对象能做什么。比如

    2021年12月24日
    41
  • pycharm的查找替换_pycharm调用其他py文件

    pycharm的查找替换_pycharm调用其他py文件1、打开要修改的文件2、ctrlr调出替换功能,如图所示:3、上面红框是需要更改的部分,下面红框是想要更改为部分,编辑后,点击“replaceall”即可示例原始页面ctrlr调出替换功能,如图所示在上一栏输入被替换字段,下一栏输入想换成的字段点击replaceall结果…

    2022年8月28日
    5
  • 存储过程基础知识

    什么是存储过程呢?存储过程就是作为可执行对象存放在数据库中的一个或多个SQL命令。 通俗来讲:存储过程其实就是能完成一定操作的一组SQL语句。http://hovertree.com/h/

    2021年12月23日
    42
  • ListView装上拉电阻下拉刷新

    ListView装上拉电阻下拉刷新

    2022年1月13日
    48
  • 二叉树(前序、中序、后序遍历图片步骤详解)

    二叉树(前序、中序、后序遍历图片步骤详解)首先我们有这么一颗二叉树:前序遍历:根结点—>左子树—>右子树这棵树的前序遍历为:ABDEGHCF中序遍历:左子树—>根结点—>右子树这棵树的前序遍历为:DBGEHACF后序遍历:左子树—>右子树—>根结点这棵树的前序遍历为:DGHEBFCA层次遍历:按层次遍历这棵树的前序遍历为:ABCDEF…

    2022年6月10日
    42

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号