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


相关推荐

  • Ice笔记–Ice的服务器实现技术[通俗易懂]

    Ice笔记–Ice的服务器实现技术[通俗易懂]服务器实现技术 1.      渐进的初始化如果我们使用servant定位器,locate返回的servant只能用于当前请求,也就是说Iceruntime不会把这个servant增加到ActiveServantMap中。一种常用的实现技术是,在loca

    2022年6月5日
    26
  • 什么是Load Average?

    什么是Load Average?运维工程师在日常运维中经常使用w、top、uptime等命令来查看系统当前运行的负载情况。那么作为运维工程师是如何通过以上命令来判断系统当前负载是否已经达到极限了呢?为此笔者总结了一下如何通过load

    2022年7月1日
    19
  • pycharmdjango项目实战_python如何创建新项目

    pycharmdjango项目实战_python如何创建新项目创建项目我们创建django项目有两种方式,命令行方式和使用pycharm工具创建,本文就介绍常用的pycharm工具创建首先点击django,输入项目的名称,选择创建好的虚拟环境,最后点击cre

    2022年8月7日
    4
  • 完美解决Spring@Autowired无法注入AbstractInterceptor

    完美解决Spring@Autowired无法注入AbstractInterceptor今天在使用AbstractInterceptor拦截时,发现Spring@Autowired无法注入,返回结果为null。捣腾了下,手动配置了下,完美解决。直接上图首先建立一个获取工厂的帮助类:在application配置文件配置我们要用的bean:配置好后,直接调用:好了,该写下一个bug了。。。。。。…

    2022年5月14日
    34
  • js中splice方法_js截取字符串指定字符之后的部分

    js中splice方法_js截取字符串指定字符之后的部分参考:http://www.w3school.com.cn/jsref/jsref_splice.asp如果从arrayObject中删除了元素,则返回的是含有被删除的元素的数组。 vara=[1,2,3];a=a.splice(2,1);//这样写就错了a.splice(2,1);//正确…

    2022年9月16日
    0
  • linux redis端口修改端口,linux–redis的安装和配置和开启多个端口「建议收藏」

    linux redis端口修改端口,linux–redis的安装和配置和开启多个端口「建议收藏」在workerman开发过程中需要安装redis来存储用户ip、端口等信息首先UBUNTU中安装redis:apt-update//更新apt包源apt-getinstallredis-server//安装redis-server安装完毕后可以直接启动redis:redis-server因为后面没有加启动哪个配置文件,所以redis会自启动默认的配置文件然后我们来看下redis的文件分布…

    2022年9月16日
    0

发表回复

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

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