APICloud学习笔记之FrameGroup覆盖bug

当子页面再打开framegroup时,此framegroup会置于最顶部此bug处理方法如下:

1.在子页面定义一个事件控制framegroup的显示

  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>端API</title>
  7     <link rel="stylesheet" type="text/css" href="../css/api.css"/>
  8     <link rel="stylesheet" type="text/css" href="../css/style.css"/>
  9     <style>
 10         header{
 11             height:30px;
 12         }
 13         .order{
 14             position:absolute;
 15             bottom:0px;
 16             left:0px;
 17             width:60px;
 18             height:20px;
 19             padding-top:10px;
 20             text-align:center;
 21
 22             }
 23         nav{
 24             display: -webkit-box;
 25             display: -webkit-flex;
 26             display: box;
 27             -webkit-box-orient: horizontal;
 28             -webkit-flex-flow: row;
 29             flex-flow: row;
 30             position:relative;
 31             width:100%;
 32             height:56px;
 33             background-color:#ffffff;
 34             }
 35         .nav-item{
 36             padding-top:20px;
 37             -webkit-box-flex: 1;
 38             -webkit-flex: 1;
 39             flex: 1;
 40             border-bottom: 1px solid #f3f3f3;
 41             text-align:center;
 42             color:#afafaf;
 43         }
 44         .active{ color: #000000; }
 45         .nav-item-bar{
 46             height:5px;
 47             width:60%;
 48             margin:0 auto;
 49
 50         }
 51         .nav-item-text{
 52             text-align: center;
 53             margin-bottom: 14px;
 54
 55         }
 56         .bar-active{
 57             background-color:#ffd442;
 58         }
 59         .main{
 60             -webkit-box-flex: 1;     -webkit-flex: 1;    flex: 1;
 61             background-color: #6AB494;
 62         }
 63     </style>
 64 </head>
 65 <body>
 66     <div id="header-content">
 67         <header>
 68             <div class="order">订单</div>
 69         </header>
 70         <nav id="nav">
 71             <div tapmode="hover" name="nav-item" class="nav-item active" onclick="randomSwitchBtn( this );">
 72                 <div class="nav-item-text ">全部订单</div>
 73                 <div class="nav-item-bar bar-active"></div>
 74             </div>
 75             <div tapmode="hover" name="nav-item" class="nav-item" onclick="randomSwitchBtn( this );">
 76                 <div class="nav-item-text">待评价</div>
 77                 <div class="nav-item-bar"></div>
 78             </div>
 79
 80         </nav>
 81
 82     </div>
 83
 84 </body>
 85 <script type="text/javascript" src="../script/api.js"></script>
 86 <script type="text/javascript">
 87     apiready = function () {
 88         $api.fixStatusBar( $api.dom(‘header‘) );
 89         initEventListener();  
 90         funIniGroup();
 91     }
 92     function funIniGroup(){
 93         frames = [];
 94         for (var i = 0,len = 2; i < len; i++) {
 95                 frames.push( {
 96                     name: ‘frame_order‘+i,
 97                     url: ‘../html/frame_order‘+i+‘.html‘,
 98                     bgColor : ‘rgba(0,0,0,.2)‘,
 99                     bounces:true
100                 } )
101         }
102         api.openFrameGroup({
103             name: ‘orderGroup‘,
104             scrollEnabled: false,
105             rect: {
106                 x: 0,
107                 y: 30+56,
108                 w: api.winWidth,
109                 h: 450
110             },
111             index: 0,
112             frames: frames
113         }, function (ret, err) {
114
115         });
116     }
117
118     function initEventListener() {
119         api.addEventListener({
120             name : ‘indexChange‘
121         }, function(ret, err) {
122             if (ret) {
123                 if (ret.value) {
124                     api.setFrameGroupAttr({
125                         name : ‘orderGroup‘,
126                         hidden : ret.value.isHidden
127                     });
128                 }
129             }
130         });
131     }
132
133
134     function randomSwitchBtn( tag ) {
135
136             if( tag == $api.dom(‘.nav-item.active‘) )return;
137             var eLis = $api.domAll(‘.nav-item‘),
138                 index = 0;
139             for (var i = 0,len = eLis.length; i < len; i++) {
140                 if( tag == eLis[i] ){
141                     index = i;
142                 }else{
143                     $api.removeCls(eLis[i], ‘active‘);
144                     $api.removeCls(eLis[i].childNodes[3], ‘bar-active‘);
145                 }
146             }
147             $api.addCls( eLis[index], ‘active‘);
148             $api.addCls(eLis[index].childNodes[3], ‘bar-active‘);
149             api.setFrameGroupIndex({
150               name: ‘orderGroup‘,
151               index: index
152             });
153         }
154 </script>
155 </html>

2.在父页面传参数控制framegroup显示

  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     <link rel="stylesheet" type="text/css" href="../css/style.css"/>
  9     <style>
 10
 11         #footer{  background-color: #f2f2f2; }
 12         #footer ul li{  padding-top: 36px; padding-bottom: 4px; background: url() no-repeat center 2px; background-size: auto 30px; text-align: center; }
 13         #footer ul li.active{ color: #6ab494; }
 14         #footer ul li:nth-child(1){ background-image: url(../image/a6p.png); }
 15         #footer ul li:nth-child(2){ background-image: url(../image/a6n.png); }
 16         #footer ul li:nth-child(3){ background-image: url(../image/a6r.png); }
 17
 18         #footer ul li:nth-child(1).active{ background-image: url(../image/a6q.png); }
 19         #footer ul li:nth-child(2).active{ background-image: url(../image/a6o.png); }
 20         #footer ul li:nth-child(3).active{ background-image: url(../image/a6s.png); }
 21
 22     </style>
 23 </head>
 24 <body>
 25 <div id="wrap" class="flex-wrap flex-vertical">
 26     <header>
 27
 28     </header>
 29     <div id="main" class="flex-con">
 30
 31     </div>
 32     <div id="footer" class="border-t">
 33         <ul class="flex-wrap" >
 34             <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con active" >首页</li>
 35             <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con" >订单</li>
 36             <li tapmode="hover" onclick="randomSwitchBtn( this );" class="flex-con" >我的</li>
 37         </ul>
 38     </div>
 39 </div>
 40 </body>
 41 </html>
 42 <script type="text/javascript" src="../script/api.js"></script>
 43 <script type="text/javascript">
 44     apiready = function () {
 45         $api.fixStatusBar( $api.dom(‘header‘) );
 46         funIniGroup();
 47
 48     }
 49
 50     function funIniGroup(){
 51         frames = [];
 52         for (var i = 0,len = 3; i < len; i++) {
 53                 frames.push( {
 54                     name: ‘frame‘+i,
 55                     url: ‘../html/frame‘+i+‘.html‘,
 56                     bgColor : ‘rgba(0,0,0,.2)‘,
 57                     bounces:true
 58                 } )
 59         }
 60         api.openFrameGroup({
 61             name: ‘group‘,
 62             scrollEnabled: false,
 63             rect: {
 64                 x: 0,
 65                 y: 0,
 66                 w: api.winWidth,
 67                 h: $api.dom(‘#main‘).offsetHeight
 68             },
 69             index: 0,
 70             frames: frames
 71         }, function (ret, err) {
 72             api.sendEvent({
 73                             name : ‘indexChange‘,
 74                             extra : {
 75                                 isHidden : (ret.index == 0)||(ret.index == 2),
 76                             }
 77             });
 78         });
 79     }
 80
 81     function fnSetNavMenuIndex(index_) {
 82             fnSetNavMenuSelected(index_)
 83             api.setFrameGroupIndex({
 84                 name : ‘mainGroup‘,
 85                 index : index_,
 86                 scroll : true,
 87             })
 88         }
 89
 90
 91     // 随意切换按钮
 92     function randomSwitchBtn( tag ) {
 93         if( tag == $api.dom(‘#footer li.active‘) )return;
 94         var eFootLis = $api.domAll(‘#footer li‘),
 95             index = 0;
 96         for (var i = 0,len = eFootLis.length; i < len; i++) {
 97             if( tag == eFootLis[i] ){
 98                 index = i;
 99             }else{
100                 $api.removeCls(eFootLis[i], ‘active‘);
101             }
102         }
103         $api.addCls( eFootLis[index], ‘active‘);
104
105         api.setFrameGroupIndex({
106             name: ‘group‘,
107             index: index
108         });
109
110         api.sendEvent({
111                 name : ‘indexChange‘,
112                 extra : {
113                     isHidden : (index == 0)||(index == 2),
114                 }
115             });
116     }
117 </script>
时间: 2024-10-18 16:11:13

APICloud学习笔记之FrameGroup覆盖bug的相关文章

Git学习笔记(6)——Bug和Feature分支

本文主要记录了通过Git来调试Bug和添加新的功能,也就是Bug分支和Feature分支,以及分支的推送. Bug分支 通过Git,我们可以为每个Bug建立一个分支,Bug修复后,合并分支,然后将临时分支删除. 当有Bug的时候,想创建一个分支bug-101来修复它,如果,当前正在dev上进行的工作还没有完成,不能提交,而且,我们必须马上解决bug,这时,我们借助Git提供的stash功能,可以把当前工作现场“储藏”起来,等以后恢复现场后继续工作. [email protected]:~/joe

APICloud学习笔记之设置图片居中

1 .box{ 2 background-color:#eee; 3 padding-top:50px; 4 } 5 6 img{ 7 display:block; 8 margin:0 auto; 9 } 1 <div class="box"><img src="../image/order/a3q.png"><br></div>

APICloud学习笔记之下拉刷新

1 api.setRefreshHeaderInfo({ 2 visible: true, 3 loadingImg: 'widget://image/refresh.png', 4 bgColor: '#ccc', 5 textColor: '#fff', 6 textDown: '下拉刷新...', 7 textUp: '松开刷新...', 8 showTime: true 9 }, function(ret, err) { 10 //重新发送请求,请求结束后根据返回数据更新页面 11 })

APICloud学习笔记之input 在div 中垂直居中

效果 div 1 <header id="header"> 2 <div class="left" tapmode onclick="fnOpenCitySelectorFrame();"> 3 <div class="city" id="city">北京市北京市北京市</div> 4 <div class="arrow" id=&q

C++ Primer 学习笔记_28_操作符重载与转换(3)--成员函数的重载、覆盖与隐藏、类型转换运算符、*运算符重载、-&gt;运算符重载

C++ Primer 学习笔记_28_操作符重载与转换(3)--成员函数的重载.覆盖与隐藏.类型转换运算符.*运算符重载.->运算符重载 一.成员函数的重载.覆盖与隐藏 对于类层次的同名成员函数来说,有三种关系:重载.覆盖和隐藏,理清3种关系,有助于写出高质量的代码. 1.成员函数的重载 重载的概念相对简单,只有在同一类定义中的同名成员函数才存在重载关系,主要特点时函数的参数类型和数目有所不同:但不能出现函数参数的个数和类型均相同,仅仅依靠返回值类型不同来区分的函数,这和普通函数的重载是完全一致

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug

cocos2d-html5学习笔记(六)--alpha2中cc.Sequence.create中的bug http://blog.csdn.net/allenice1/article/details/7747425 分类: javascript cocos2d-html52012-07-14 20:08 3005人阅读 评论(0) 收藏 举报 actionfunctionnullobject 今天学习了action,可是练习cc.Sequence.create的时候.发现了问题. cc.Sequ

Chrome development tools学习笔记(5)

调试JavaScript 随着如今JavaScript应用的越来越广泛,在面对前端工作的时候,开发人员须要强大的调试工具来高速有效地解决这个问题.我们文章的主角,Chrome DevTools就提供了这么个工具来帮助我们降低调试JavaScript代码的痛苦. 顺便说下,不同版本号的Chrome浏览器的DevTools可能稍微有所不同,除了数字递增的版本号号以外.Chrome浏览器包含Stable正式版.Beta測试版.Dev开发版.Canary金丝雀版以及鼻祖 Chromium版这几个分支.博

hadoop 学习笔记:mapreduce框架详解

hadoop 学习笔记:mapreduce框架详解 开始聊mapreduce,mapreduce是hadoop的计算框架,我 学hadoop是从hive开始入手,再到hdfs,当我学习hdfs时候,就感觉到hdfs和mapreduce关系的紧密.这个可能是我做技术研究的 思路有关,我开始学习某一套技术总是想着这套技术到底能干什么,只有当我真正理解了这套技术解决了什么问题时候,我后续的学习就能逐步的加快,而学习 hdfs时候我就发现,要理解hadoop框架的意义,hdfs和mapreduce是密不

Linux 操作系统学习笔记

一,unix 1.unix 特点 伸缩性强,开放性好, 2.基本原则 所有对象,硬件都是文件 配置数据以文本形式保存 短小的单目的程序构成 多个程序合作完成复杂任务 3.gnu 基本原则是共享,建立自由开放的unix系统 1984年 richard stallman 发起 基本体系是micro kernel 4.gpl Copyleft 原作者所有权 5.linux起源 Linustorvalds, 自由的类unix操作系统, 遵循gnu和gpl 6.linux 可以实现unix功能 遵循开源许