js实现类似iphone的网页滑屏解锁功能示例【附源码下载】


Posted in Javascript onJune 10, 2019

本文实例讲述了js实现类似iphone的网页滑屏解锁功能。分享给大家供大家参考,具体如下:

iphone 的出现,打破了人们的用户体验,这一用户体验也延伸到了网页设计上。最近看到很多blog的评论都用类似iphone滑动解锁的方式实现。只有滑动解锁之后才能评论,或者做其他的事情。这个功能的实现,其实并不麻烦,关键是要有好的美工,做出好的滑动图片,然后javascript配合CSS就可以完成,我在这里也简单实现了一个,基本功能如下

1. 打开页面时隐藏评论框,你可以做成disable形式,下载源码后可以修改。
2. 滑动解锁图片,显示评论框,你可以做成让textarea字段enable方式。
3. 采用原生javascript实现,兼容ie,firefox,chrome,safari.

效果图基本如下:

js实现类似iphone的网页滑屏解锁功能示例【附源码下载】

js实现类似iphone的网页滑屏解锁功能示例【附源码下载】

你可以改动部分源代码测试,加入你自己想要的逻辑。

源代码贴在下面,你也可以在文章的最后下载:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>yihaomen.com js滑屏解锁</title>
<style type="text/css"> 
#slider_comment{position:relative;width:426px;height:640px;margin:10px auto;}
#lock{width:200px;height:30px;border:1px dashed #ccc;line-height:30px;}
#lock span{position:absolute;width:45px;height:30px;cursor:pointer;background:url(img/arrow.png) no-repeat;}
</style>
<script type="text/javascript"> 
window.onload = function ()
{
  var slider_comment = document.getElementById("slider_comment");
  var oLock = document.getElementById("lock");
  var oBtn = oLock.getElementsByTagName("span")[0];
  var comment=document.getElementById('comment');
  var disX = 0;
  var maxL = oLock.clientWidth - oBtn.offsetWidth;  
  oBtn.onmousedown = function (e)
  {
    var e = e || window.event;
    disX = e.clientX - this.offsetLeft;
    document.onmousemove = function (e)
    {
      var e = e || window.event;
      var l = e.clientX - disX;
      l < 0 && (l = 0);
      l > maxL && (l = maxL);      
      oBtn.style.left = l + "px";      
      oBtn.offsetLeft == maxL && (comment.style.display="block",oLock.innerHTML = "请输入评论内容");
      return false;
    };
    document.onmouseup = function ()
    {
      document.onmousemove = null;
      document.onmouseup = null;
      oBtn.releaseCapture && oBtn.releaseCapture();
      oBtn.offsetLeft > maxL / 2 ?
        startMove(maxL, function ()
        {
          comment.style.display="block";
          oLock.innerHTML = "请输入评论内容";
          oLock.style.display = "block";
        }) :
        startMove(0)
    };
    this.setCapture && this.setCapture();
    return false
  };
  function startMove (iTarget, onEnd)
  {
    clearInterval(oBtn.timer);
    oBtn.timer = setInterval(function ()
    {
      doMove(iTarget, onEnd)
    }, 30)
  }
  function doMove (iTarget, onEnd)
  {
    var iSpeed = (iTarget - oBtn.offsetLeft) / 5;
    iSpeed = iSpeed > 0 ? Math.ceil(iSpeed) : Math.floor(iSpeed);
    iTarget == oBtn.offsetLeft ? (clearInterval(oBtn.timer), onEnd && onEnd()) : oBtn.style.left = iSpeed + oBtn.offsetLeft + "px"
  }
};
</script>
</head>
<body>
<div id="slider_comment">
<div id="lock"><span></span></div>
<div id="comment" style="width:500px;height:200px;display:none;">
  <textarea id="comment_text" rows=5 style="width:500px;height:200px;border:1px solid #ccc;"></textarea>
</div>
</div>
</body>
</html>

源码点击此处本站下载

希望本文所述对大家jQuery程序设计有所帮助。

Javascript 相关文章推荐
文本框中禁止非数字字符输入比如手机号码、邮编
Aug 19 Javascript
js实现的点击div区域外隐藏div区域
Jun 30 Javascript
node.js中RPC(远程过程调用)的实现原理介绍
Dec 05 Javascript
js实现多选项切换导航菜单的方法
Feb 06 Javascript
JavaScript File API文件上传预览
Feb 02 Javascript
JS实现的跨浏览器解析XML文件实例
Jun 21 Javascript
Vue.js学习笔记之 helloworld
Aug 14 Javascript
jQuery过滤选择器经典应用
Aug 18 Javascript
jQuery flip插件实现的翻牌效果示例【附demo源码下载】
Sep 20 Javascript
几句话带你理解JS中的this、闭包、原型链
Sep 26 Javascript
jquery实现刷新随机变化样式特效(tag标签样式)
Feb 03 Javascript
Angular2使用Augury来调试Angular2程序
May 21 Javascript
基于jquery实现的tab选项卡功能示例【附源码下载】
Jun 10 #jQuery
对node通过fs模块判断文件是否是文件夹的实例讲解
Jun 10 #Javascript
Javascript数组方法reduce的妙用之处分享
Jun 10 #Javascript
利用node 判断打开的是文件 还是 文件夹的实例
Jun 10 #Javascript
javascript function(函数类型)使用与注意事项小结
Jun 10 #Javascript
浅谈ECMAScript 中的Array类型
Jun 10 #Javascript
微信小游戏之使用three.js 绘制一个旋转的三角形
Jun 10 #Javascript
You might like
强烈推荐:php.ini中文版(2)
2006/10/09 PHP
destoon网站转移服务器后搜索汉字出现乱码的解决方法
2014/06/21 PHP
php中运用http调用的GET和POST方法示例
2014/09/29 PHP
ThinkPHP框架设计及扩展详解
2014/11/25 PHP
PHP文件缓存类实现代码
2015/10/26 PHP
说说掌握JavaScript语言的思想前提想学习js的朋友可以看看
2009/04/01 Javascript
基于jQuery的message插件实现右下角弹出消息框
2011/01/11 Javascript
JQuery插件Style定制化方法的分析与比较
2012/05/03 Javascript
JQueryiframe页面操作父页面中的元素与方法(实例讲解)
2013/11/19 Javascript
Js实现当前点击a标签变色突出显示其他a标签回复原色
2013/11/27 Javascript
JavaScript通过字典进行字符串翻译转换的方法
2015/03/19 Javascript
javascript对象的相关操作小结
2016/05/16 Javascript
原生JS实现垂直手风琴效果
2017/02/19 Javascript
Angular4学习笔记之根模块与Ng模块
2017/09/09 Javascript
Egg.js 中 AJax 上传文件获取参数的方法
2018/10/10 Javascript
Vue3.0 响应式系统源码逐行分析讲解
2019/10/14 Javascript
Python实现Linux命令xxd -i功能
2016/03/06 Python
Python中字典和集合学习小结
2017/07/07 Python
Python WXPY实现微信监控报警功能的代码
2017/10/20 Python
Python模块汇总(常用第三方库)
2019/10/07 Python
jupyter notebook运行命令显示[*](解决办法)
2020/05/18 Python
Django模板报TemplateDoesNotExist异常(亲测可行)
2020/12/18 Python
HTML5之HTML元素扩展(下)—增强的Form表单元素值得关注
2013/01/31 HTML / CSS
英国排名第一的最新设计师品牌手表独立零售商:TIC Watches
2016/09/24 全球购物
Links of London官方网站:英国标志性的珠宝品牌
2017/04/09 全球购物
CK加拿大官网:Calvin Klein加拿大
2020/03/14 全球购物
护理专业个人求职简历的自我评价
2013/10/13 职场文书
电气自动化专业职业规划范文
2014/02/16 职场文书
小学班长竞选演讲稿
2014/04/24 职场文书
关于热爱祖国的演讲稿
2014/05/04 职场文书
特教教师先进事迹
2014/05/21 职场文书
质监局领导班子对照检查材料思想汇报
2014/09/27 职场文书
单位介绍信格式
2015/01/31 职场文书
2015年社区精神文明工作总结
2015/05/26 职场文书
教师信息技术学习心得体会
2016/01/21 职场文书
如何撰写创业策划书
2019/06/27 职场文书