欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

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

程序员文章站 2023-11-30 08:39:40
本文实例讲述了js实现类似iphone的网页滑屏解锁功能。分享给大家供大家参考,具体如下: iphone 的出现,打破了人们的用户体验,这一用户体验也延伸到了网页设计上。...

本文实例讲述了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相关内容感兴趣的读者可查看本站专题:《jquery页面元素操作技巧汇总》、《jquery常见事件用法与技巧总结》、《jquery常用插件及用法总结》、《jquery扩展技巧总结》及《jquery选择器用法总结

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