jQuery适合手机端滑动解锁代码

版权:原创 更新时间:1年以上
[该文章底部包含文件资源,可根据自己情况,决定是否下载资源使用,时间>金钱,如有需要,立即查看资源]

以下是 jQuery适合手机端滑动解锁代码 的示例演示效果:

当前平台(PC电脑)
  • 平台:

部分效果截图:

jQuery适合手机端滑动解锁代码

HTML代码(index.html):

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>jQuery适合手机端滑动解锁代码</title>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">

<!-- css -->
<link rel="stylesheet" type="text/css" href="css/normalize.css">
<link rel="stylesheet" type="text/css" href="css/jquery.slideunlock.css">
</head>
<body>
<div id="slide-wrapper">
	<input type="hidden" value="" id="lockable">
	<div id="slider">
		<span id="label"></span>
		<span id="lableTip">Slide to unlock!</span>
	</div>
</div>
<button id="reset-btn">重置</button>
<p class="warn"></p>
<script type="text/javascript" src="js/jquery.min.js"></script>
<script type="text/javascript" src="js/jquery.mobile.min.js"></script>
<script type="text/javascript" src="js/jquery.slideunlock.min.js"></script>
<script type="text/javascript">
$(function () {
	var slider = new SliderUnlock("#slider", {}, function(){
		alert('success');
	}, function(){
		$(".warn").text("index:" + slider.index + ", max:" + slider.max + ",lableIndex:" + slider.lableIndex + ",value:" + $("#lockable").val() + " date:" + new Date().getUTCDate());
	});
	slider.init();

	$("#reset-btn").on('click', function(){
		slider.reset();
	});
})
</script>
</body>
</html>










JS代码(jquery.slideunlock.min.js):

"use strict";
	function SliderUnlock(g,c,f,e){
	var a=this;
	var b=a.checkElm(g)?$(g):$;
	var c=a.checkObj(c)?c:new Object();
	var f=a.checkFn(f)?f:function(){
}
;
	var e=a.checkFn(e)?e:function(){
}
;
	var d={
	labelTip:typeof(c.labelTip)!=="undefined"?"options.labelTip":"Slide to Unlock",successLabelTip:typeof(c.successLabelTip)!=="undefined"?c.successLabelTip:"Success",duration:typeof(c.duration)!=="undefined"||!isNaN(c.duration)?c.duration:200,swipestart:typeof(c.swipestart)!=="undefined"?c.swipestart:false,min:typeof(c.min)!=="undefined"||!isNaN(c.min)?c.min:0,max:typeof(c.max)!=="undefined"||!isNaN(c.max)?c.max:b.width(),index:typeof(c.index)!=="undefined"||!isNaN(c.index)?c.index:0,IsOk:typeof(c.isOk)!=="undefined"?c.isOk:false,lableIndex:typeof(c.lableIndex)!=="undefined"||!isNaN(c.lableIndex)?c.lableIndex:0}
;
	a.elm=b;
	a.opts=d;
	a.swipestart=d.swipestart;
	a.min=d.min;
	a.max=d.max;
	a.index=d.index;
	a.isOk=d.isOk;
	a.lableIndex=d.lableIndex;
	a.success=f;
	a.always=e}
SliderUnlock.prototype.checkElm=function(a){
	if($(a).length>0){
	return true}
else{
	throw"this element does not exist."}
}
;
	SliderUnlock.prototype.checkObj=function(a){
	if(typeof a==="object"){
	return true}
else{
	throw"the params is not a object."}
}
;
	SliderUnlock.prototype.checkFn=function(a){
	if(typeof a==="function"){
	return true}
else{
	throw"the param is not a function."}
}
;
	SliderUnlock.prototype.init=function(){
	var a=this;
	a.updateView();
	a.elm.find("#label").on("mousedown",function(b){
	var c=b||window.event;
	a.lableIndex=c.clientX-this.offsetLeft;
	a.handerIn()}
).on("mousemove",function(b){
	a.handerMove(b)}
).on("mouseup",function(b){
	a.handerOut()}
).on("mouseout",function(b){
	a.handerOut()}
).on("touchstart",function(b){
	var c=b||window.event;
	a.lableIndex=c.originalEvent.touches[0].pageX-this.offsetLeft;
	a.handerIn()}
).on("touchmove",function(b){
	a.handerMove(b,"mobile")}
).on("touchend",function(b){
	a.handerOut()}
)}
;
	SliderUnlock.prototype.handerIn=function(){
	var a=this;
	a.swipestart=true;
	a.min=0;
	a.max=a.elm.width()}
;
	SliderUnlock.prototype.handerOut=function(){
	var a=this;
	a.swipestart=false;
	if(a.index<a.max){
	a.reset()}
}
;
	SliderUnlock.prototype.handerMove=function(c,b){
	var a=this;
	if(a.swipestart){
	c.preventDefault();
	var c=c||window.event;
	if(b=="mobile"){
	a.index=c.originalEvent.touches[0].pageX-a.lableIndex}
else{
	a.index=c.clientX-a.lableIndex}
a.move()}
}
;
	SliderUnlock.prototype.move=function(){
	var a=this;
	if((a.index+0)>=a.max){
	a.index=a.max-0;
	a.swipestart=false;
	a.isOk=true}
if(a.index<0){
	a.index=a.min;
	a.isOk=false}
if(a.index==a.max&&a.max>0&&a.isOk){
	a.success()}
a.backgroundTranslate();
	a.updateView()}
;
	SliderUnlock.prototype.reset=function(){
	var a=this;
	a.index=0;
	a.elm.find("#label").animate({
	left:a.index}
,a.opts.duration).next("#lableTip").animate({
	opacity:1}
,a.opts.duration);
	a.updateView()}
;
	SliderUnlock.prototype.backgroundTranslate=function(){
	var a=this;
	a.elm.find("#label").css("left",a.index+"px").next("#lableTip").css("opacity",1-(parseInt($("#label").css("left"))/a.max))}
;
	SliderUnlock.prototype.updateView=function(){
	var a=this;
	if(a.index==(a.max-0)){
	$("#lockable").val(1);
	var b={
	filter:"alpha(opacity=1)","-moz-opacity":"1",opacity:"1"}
;
	a.elm.addClass("success").find("#lableTip").html(a.opts.successLabelTip).css(b)}
else{
	$("#lockable").val(0);
	a.elm.removeClass("success").find("#lableTip").html(a.opts.labelTip)}
a.always()}
;
	

CSS代码(normalize.css):

/*! normalize.css v3.0.2 | MIT License | git.io/normalize */
/** * 1. Set default font family to sans-serif. * 2. Prevent iOS text size adjust after orientation change,without disabling * user zoom. */
html{font-family:sans-serif;/* 1 */
 -ms-text-size-adjust:100%;/* 2 */
 -webkit-text-size-adjust:100%;/* 2 */
}
/** * Remove default margin. */
body{margin:0;}
/* HTML5 display definitions ========================================================================== */
/** * Correct `block` display not defined for any HTML5 element in IE 8/9. * Correct `block` display not defined for `details` or `summary` in IE 10/11 * and Firefox. * Correct `block` display not defined for `main` in IE 11. */
article,aside,details,figcaption,figure,footer,header,hgroup,main,menu,nav,section,summary{display:block;}
/** * 1. Correct `inline-block` display not defined in IE 8/9. * 2. Normalize vertical alignment of `progress` in Chrome,Firefox,and Opera. */
audio,canvas,progress,video{display:inline-block;/* 1 */
 vertical-align:baseline;/* 2 */
}
/** * Prevent modern browsers from displaying `audio` without controls. * Remove excess height in iOS 5 devices. */
audio:not([controls]){display:none;height:0;}
/** * Address `[hidden]` styling not present in IE 8/9/10. * Hide the `template` element in IE 8/9/11,Safari,and Firefox < 22. */
[hidden],template{display:none;}
/* Links ========================================================================== */
/** * Remove the gray background color from active links in IE 10. */
a{background-color:transparent;}
/** * Improve readability when focused and also mouse hovered in all browsers. */
a:active,a:hover{outline:0;}
/* Text-level semantics ========================================================================== */
/** * Address styling not present in IE 8/9/10/11,Safari,and Chrome. */
abbr[title]{border-bottom:1px dotted;}
/** * Address style set to `bolder` in Firefox 4+,Safari,and Chrome. */
b,strong{font-weight:bold;}
/** * Address styling not present in Safari and Chrome. */
dfn{font-style:italic;}
/** * Address variable `h1` font-size and margin within `section` and `article` * contexts in Firefox 4+,Safari,and Chrome. */
h1{font-size:2em;margin:0.67em 0;}
/** * Address styling not present in IE 8/9. */
mark{background:#ff0;color:#000;}
/** * Address inconsistent and variable font size in all browsers. */
small{font-size:80%;}
/** * Prevent `sub` and `sup` affecting `line-height` in all browsers. */
sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline;}
sup{top:-0.5em;}
sub{bottom:-0.25em;}
/* Embedded content ========================================================================== */
/** * Remove border when inside `a` element in IE 8/9/10. */
img{border:0;}
/** * Correct overflow not hidden in IE 9/10/11. */
svg:not(:root){overflow:hidden;}
/* Grouping content ========================================================================== */
/** * Address margin not present in IE 8/9 and Safari. */
figure{margin:1em 40px;}
/** * Address differences between Firefox and other browsers. */
hr{-moz-box-sizing:content-box;box-sizing:content-box;height:0;}
/** * Contain overflow in all browsers. */
pre{overflow:auto;}
/** * Address odd `em`-unit font size rendering in all browsers. */
code,kbd,pre,samp{font-family:monospace,monospace;font-size:1em;}
/* Forms ========================================================================== */
/** * Known limitation:by default,Chrome and Safari on OS X allow very limited * styling of `select`,unless a `border` property is set. */
/** * 1. Correct color not being inherited. * Known issue:affects color of disabled elements. * 2. Correct font properties not being inherited. * 3. Address margins set differently in Firefox 4+,Safari,and Chrome. */
button,input,optgroup,select,textarea{color:inherit;/* 1 */
 font:inherit;/* 2 */
 margin:0;/* 3 */
}
/** * Address `overflow` set to `hidden` in IE 8/9/10/11. */
button{overflow:visible;}
/** * Address inconsistent `text-transform` inheritance for `button` and `select`. * All other form control elements do not inherit `text-transform` values. * Correct `button` style inheritance in Firefox,IE 8/9/10/11,and Opera. * Correct `select` style inheritance in Firefox. */
button,select{text-transform:none;}
/** * 1. Avoid the WebKit bug in Android 4.0.* where (2) destroys native `audio` * and `video` controls. * 2. Correct inability to style clickable `input` types in iOS. * 3. Improve usability and consistency of cursor style between image-type * `input` and others. */
button,html input[type="button"],/* 1 */
input[type="reset"],input[type="submit"]{-webkit-appearance:button;/* 2 */
 cursor:pointer;/* 3 */
}
/** * Re-set default cursor for disabled elements. */
button[disabled],html input[disabled]{cursor:default;}
/** * Remove inner padding and border in Firefox 4+. */
button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0;}
/** * Address Firefox 4+ setting `line-height` on `input` using `!important` in * the UA stylesheet. */
input{line-height:normal;}
/** * It's recommended that you don't attempt to style these elements. * Firefox's implementation doesn't respect box-sizing,padding,or width. * * 1. Address box sizing set to `content-box` in IE 8/9/10. * 2. Remove excess padding in IE 8/9/10. */
input[type="checkbox"],input[type="radio"]{box-sizing:border-box;/* 1 */
 padding:0;/* 2 */
}
/** * Fix the cursor style for Chrome's increment/decrement buttons. For certain * `font-size` values of the `input`,it causes the cursor style of the * decrement button to change from `default` to `text`. */
input[type="number"]::-webkit-inner-spin-button,input[type="number"]::-webkit-outer-spin-button{height:auto;}
/** * 1. Address `appearance` set to `searchfield` in Safari and Chrome. * 2. Address `box-sizing` set to `border-box` in Safari and Chrome * (include `-moz` to future-proof). */
input[type="search"]{-webkit-appearance:textfield;/* 1 */
 -moz-box-sizing:content-box;-webkit-box-sizing:content-box;/* 2 */
 box-sizing:content-box;}
/** * Remove inner padding and search cancel button in Safari and Chrome on OS X. * Safari (but not Chrome) clips the cancel button when the search input has * padding (and `textfield` appearance). */
input[type="search"]::-webkit-search-cancel-button,input[type="search"]::-webkit-search-decoration{-webkit-appearance:none;}
/** * Define consistent border,margin,and padding. */
fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em;}
/** * 1. Correct `color` not being inherited in IE 8/9/10/11. * 2. Remove padding so people aren't caught out if they zero out fieldsets. */
legend{border:0;/* 1 */
 padding:0;/* 2 */
}
/** * Remove default vertical scrollbar in IE 8/9/10/11. */
textarea{overflow:auto;}
/** * Don't inherit the `font-weight` (applied by a rule above). * NOTE:the default cannot safely be changed in Chrome and Safari on OS X. */
optgroup{font-weight:bold;}
/* Tables ========================================================================== */
/** * Remove most spacing between table cells. */
table{border-collapse:collapse;border-spacing:0;}
td,th{padding:0;}
附件:下载该文件资源,减少时间成本(增值服务)
留言
该资源可下载
File Source
.rar
86.65 KB
jquery特效8
最新结算
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jquery虚拟键盘中文打字效果js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
HTML5实现CSS滤镜图片切换特效代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery头像裁剪插件cropbox js代码
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 2.31¥ 状态: 待结算 详细>
CSS3制作3D图片立方体旋转特效
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
jQuery+css3实现信封效果
类型: .rar 金额: CNY 0.29¥ 状态: 待结算 详细>
我们力求给您提供有用的文章,再此基础上,会附加营收资源,不做任何广告,让平台可以更好发展 若您发现您的权利被侵害,或使用了您的版权,请发邮件联系 sunlifel@foxmail.com ggbig觉得 : 不提供源码的文章不是好文章
合作伙伴
联系我们
  • QQ:21499807
  • 邮箱:sunlifel@foxmail.com
  • QQ扫一扫加QQ
    QQ扫一扫
Copyright 2023-2024 ggbig.com·皖ICP备2023004211号-1
打赏文章