帖子
帖子
用户
博客
课程
显示全部楼层
16
帖子
0
勋章
2270
Y币

弹出层的实现

[复制链接]
发表于 2015-6-13 02:27:15


弹出层的实现,不论是做分类还是什么,弹出层都是一个app中必须的,那么弹出层该如何实现呢?

这里是由官方的金龙老师推荐的方法,现在教给大家。

  1. <!DOCTYPE HTML>
  2. <html>
  3. <head>
  4.     <meta charset="utf-8">
  5.     <meta name="viewport" content="maximum-scale=1.0,minimum-scale=1.0,user-scalable=0,width=device-width,initial-scale=1.0"/>
  6.     <title>弹出层</title>
  7.     <link rel="stylesheet" type="text/css" href="../css/api.css" />
  8.         <style>
  9.                 html,body{
  10.                         height: 100%;
  11.                         background-color: transparent;
  12.                         overflow: hidden;
  13.                 }
  14.                 #wp{
  15.                         display: -webkit-box;
  16.                         height: 100%;
  17.                 }
  18.                 #main{
  19.                         width: 75%;
  20.                         background-color: #eee;
  21.                         -webkit-transition: all .3s;
  22.                         transition:all .3s;
  23.                         transform: translateX(-100%);
  24.                         -webkit-transform: translateX(-100%);
  25.                 }
  26.                 #main.in{
  27.                         transform: translateX(0%);
  28.                         -webkit-transform: translateX(0%);
  29.                 }
  30.                 #fill{width: 25%;}
  31.         </style>
  32. </head>
  33. <body>
  34. <div id="wp">
  35.         <div id="main" class="">
  36.                
  37.         </div>
  38.         <div id="fill"></div>
  39. </div>
  40. </body>
  41. <script type="text/javascript" src="../script/api.js"></script>
  42. <script type="text/javascript" src="../script/zepto.js"></script>
  43. <script type="text/javascript">
  44.     apiready = function(){
  45.             var $list = $('#main');
  46.             $list.addClass('in');
  47.             $(document.body).on('touchend',function(evt){
  48.                     if(!$.contains($list[0], evt.target)){
  49.                             $list.removeClass('in');
  50.                             setTimeout(function(){
  51.                                     api.closeFrame();
  52.                             },350);
  53.                     }
  54.             });
  55.     };
  56. </script>
  57. </html>
复制代码


简单来说一下,其实也很简单,就是用到了css3的特性,利用css3作动画效果。

先写好css类,写好之后把translateX设置为-100%;然后再加一个in的类,再把translateX设置为0%;


最后,就是在apiready中添加in这个类即可。


ps:这个页面用openFrame打开,需要注意的是给bgcolor设置透明度bgColor: 'rgba(0,0,0,0.6)'

好了。刚才一直在研究51用车的那个版本切换效果,也没整好,回头有时间弄个弹出层的插件供大家使用。

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
12
帖子
0
勋章
50
Y币
马克吐温
59
帖子
0
勋章
713
Y币
给力
8
帖子
0
勋章
1万+
Y币
支持一下,很不错的方法  
21
帖子
2
勋章
596
Y币
火钳刘明
63
帖子
0
勋章
518
Y币
验证成功了,感谢分享!
您需要登录后才可以回帖 登录

本版积分规则