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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • golang激活码【2021.10最新】

    (golang激活码)这是一篇idea技术相关文章,由全栈君为大家提供,主要知识点是关于2021JetBrains全家桶永久激活码的内容https://javaforall.net/100143.htmlIntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,上面是详细链接哦~92U4ILM59M-eyJsaWNlb…

    2022年3月29日
  • 2021.7 goland 激活码[免费获取]

    (2021.7 goland 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月21日
  • anyMatch_any后面加什么

    anyMatch_any后面加什么importcom.it.vo.Student;importjava.util.ArrayList;importjava.util.List;/***anyMatch(Predicatep)传入一个断言型函数,对流中所有的元素进行判断,*只要有一个满足条件就返回true,都不满足返回false。*/publicclassTest{publicstaticvoidmain(String[]args){Studentstu1.

    2022年4月19日
  • Navicat MySQL 激活码【中文破解版】

    (Navicat MySQL 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
  • CentOS搭建GitLab代码管理平台

    CentOS搭建GitLab代码管理平台

    2021年5月31日
  • pycharm多行代码同时注释、去除注释_vs如何统计代码行数

    pycharm多行代码同时注释、去除注释_vs如何统计代码行数使用pycharm编写Python脚本的时候,先选中需要注释的行,然后同时按键盘右下角的—-Ctrl和Ctrl键正上方的‘/’键—可以实现多行注释注意:1、只有在pycharm中编写Python代码(以.py结尾的文件)才能用此方法去多行注释2、在选中行的时候不管是全部选中,还是只选中了该行中的的部分代码,都能实现多行注释,如下图:注释前:注释后:…

    2022年8月28日

发表回复

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

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