[Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu

时间:2022-09-17 13:22:11

Drawer——Side menu


组件名称:Drawer

    说明:af3中的side menu和af2中有很大变化,af3中的side menu实际上是通过插件$.afui.drawer来实现的

    方法:

show (id, position, string)         显示side menu,参数中指定的是nav的 id, 要显示的位置:left、right,指定变换效果:cover,reveal,push
hide (string,string) 隐藏Side Menu,参数为nav的id和位置,也可以无参数调用,此时自动隐藏当前打开的drawer

属性:无

    事件:

    使用:声明方法是在view元素中添加nav元素:<nav id="menu1"><header></header><ul><li><a href=""></a></li></ul></nav>

side menu可以通过两种方法打开:

方法一,在header中添加class="menuButtong"的锚元素A,这个menuButton是自动右对齐的。

<a class="menuButton" data-right-menu="menuMain" data-transition="reveal"></a>

方法二,通过脚本打开:

<a class="at-right noborder-button button icon tools" href="#" onclick="$.afui.drawer.show('#menuMain','left','cover')"></a>

side menu的三种动画效果说明:

  “cover”   side menu从边上逐渐打开,并逐渐覆盖主画面

  “push”   side menu从边上逐渐打开,并随着推开主画面

  ”reveal“  主画面逐渐向一边移开,并逐渐露出仿佛一直位于下面的side menu(side menu并不动,只是逐渐曝露出来)。

side menu存在问题:

目前,af3中的side menu还存在很大问题,至少如果按照官网所说的声明为subview的方法:

官方代码

这种方式,在我这里始终显示不正常,一直没有试验成功,目前只能使用如下方式声明:

             <nav  id="menuMain" class="bb" onclick="$.afui.drawer.hide()">

                <header><h1>Main View Menu</h1></header>

                <ul class="list inset">
<li><a class="icon " href="#page2-1" data-transition="slide">goto page2-1</a></li>
<li><a class="icon " href="#" onclick="$.afui.loadContent('#page2-2',false,false,'slide');" data-transition="slide">goto page2-2</a></li>
</ul> </nav>

而且,在切换到其他page的时候,sidemenu也没有自动关闭,因此在上面代码中还添加了关闭代码。

例代码:下面的完整代码中演示了完整的side menu使用方法


<div class="view active" id="viewMain">
<header>
<h1 class="title">Main view</h1>
<a class="menuButton" data-right-menu="menuMain" data-transition="reveal"></a>
<a class="at-right noborder-button button icon tools" href="#" onclick="$.afui.drawer.show('#menuMain','left','cover')"></a> </header>
<div class="pages">
<div class="panel active" id="page1_1">
<p>this is page in main view</p>
</div>
</div>
<footer>
<a data-transition="up" class="icon html5" onclick="$.afui.loadContent('#page2-2',false,false,'up');">view2</a>
</footer>
<nav id="menuMain" class="bb" onclick="$.afui.drawer.hide()">
<!-- <div class="view active" id="menuMain_view">-->
<header><h1>Main View Menu</h1></header>
<!--<div class="pages">
<div class="panel active" id="menuMain_view_page">
-->
<ul class="list inset">
<li><a class="icon " href="#page2-1" data-transition="slide">goto page2-1</a></li>
<li><a class="icon " href="#" onclick="$.afui.loadContent('#page2-2',false,false,'slide');" data-transition="slide">goto page2-2</a></li>
</ul>
<!-- </div></div>
</div> -->
</nav>
</div>
<div class="view " id="view2">
<header>
<h1 class="title">view 22</h1>
<a class=" icon menuButton" data-left-menu="menuRight2" data-transition="push"></a>
</header>
<div class="pages">
<div class="panel active" id="page2-1" >
<p>this is page in view 2 page1</p>
</div>
<div class="panel active" id="page2-2" >
<p>this is page in view 2 page2</p>
</div>
</div>
<footer>
<a href="#page1_1" data-transition="down" class="icon home">back to main view</a>
<a href="#page2-1" data-transition="slide:back" class="icon stack"></a>
<a href="#page2-2" data-transition="slide" class="icon star"></a>
</footer>
<nav id="menuRight2" class="bb" style="max-width: 250px;" onclick="$.afui.drawer.hide()">
<header><h1>View2菜单</h1></header>
<ul class="list ">
<li ><a class="icon home" href="#page1_1">go page1-1</a></li>
</ul> </nav>
</div>

第四章 App framework组件之Button   [Learn AF3系列]  第六章  App Framework 3.0中的内置矢量图标

[Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu的更多相关文章

  1. &lbrack;Learn AF3&rsqb;第三章 App Framework 3组件之Panel:afui的核心

    Panel,afui的核心组件 组件名称:Panel     使用说明:按照官方的说法,panel组件是af3的“核心(heart of the ui)”,panel用于构造应用中独立的内容展示区域, ...

  2. &lbrack;Learn AF3&rsqb;第四章 App framework组件之Button

    Button    组件名称:Button     是否js控件:否     使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...

  3. &lbrack;Learn AF3&rsqb;第六章 App Framework 3&period;0中的内置矢量图标

    AF3的内置矢量图标 介绍:要使用af3中的图标,必须首先引入icon.css,由于文件中已经内置了字体文件数据,因此不需要引入字体文件支持. <link rel="styleshee ...

  4. &lbrack;Learn AF3&rsqb;第七章 App framework组件之Popup

    AF3的弹出对话框Popup 组件名称:Popup 是否js控件:是,$.afui.popup     说明:af3中的popup和af2中相比变化不大,依然是通过插件popup来实现的     方法 ...

  5. &lbrack;Learn AF3&rsqb;第二章 App Framework 3&period;0的组件View——AF3的驱动引擎

    View:af3中的驱动引擎   组件名称:View     使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...

  6. 第五章 使用 Bootstrap Typeahead 组件(百度下拉效果)

    推荐链接:http://www.cnblogs.com/haogj/p/3376874.html UnderScore官网:http://underscorejs.org/ 参考文档:http://w ...

  7. &lbrack;Learn AF3&rsqb;第一章 如何使用App Framework 3&period;0 构造应用程序

    af3的变化非常大.参见[译]Intel App Framework 3.0的变化 一.应用需要引用的js脚本: af3中不在自己实现dom选择器,而是选择基于jquey或兼容jquery的库如zep ...

  8. 《Entity Framework 6 Recipes》中文翻译系列 &lpar;22&rpar; -----第五章 加载实体和导航属性之延迟加载

    翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使 ...

  9. &lbrack;译&rsqb;Intel App Framework 3&period;0的变化

    App Framework 3.0 原文 IAN M. (Intel) 发布于 2015-02-11  05:24 我们高兴地宣布App Framework 的新版本3.0发布了.你可以获得最新的代码 ...

随机推荐

  1. js中json字符串转成js对象

    json字符串转成js对象我所知的方法有2种: //json字符串转换成json对象 var str_json = "{name:'liuchuan'}"; //json字符串 / ...

  2. python os用法笔记

    获取文件所在路径 import os os.path.dirname(__file__)  获取当前文件的所在路径 print (os.path.dirname(os.path.dirname(__f ...

  3. POJ 2464 Brownie Points II (树状数组,难题)

    题意:在平面直角坐标系中给你N个点,stan和ollie玩一个游戏,首先stan在竖直方向上画一条直线,该直线必须要过其中的某个点,然后ollie在水平方向上画一条直线,该直线的要求是要经过一个sta ...

  4. 开发技巧01——改变Toast显示位置

    1.获得Toast对象——Toast toast = Toast.makeText(this, "Top Left!", Toast.LENGTH_SHORT); 2.Toast对 ...

  5. hibernate 3&period;6&period;10 maven pom&period;xml

    <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/20 ...

  6. P5057 &lbrack;CQOI2006&rsqb;简单题(线段树)

    果然简单题,5分钟紫题++ 代码 #include <cstdio> #include <algorithm> #include <cstring> using n ...

  7. BSGS 算法

    求解 A^x ≡ B mod C  C是质数 的最小非负整数解 证明:A^x ≡ A^(x%φ(C)) mod C A^(x%φ(C))  ≡ A^(x-k*φ(C)) ≡ (A^x)/ A^(k*φ ...

  8. 004&period;Autofs自动挂载

    一 安装autofs [root@imxhy data]# yum -y install autofs 二 编辑自动挂载相关配置 2.1 修改master [root@imxhy ~]# vi /et ...

  9. 《Mysql技术内幕,Innodb存储引擎》——索引与算法

    B+树 B+树中,所有记录节点都按照键值的大小顺序放在同一层叶子节点,各个叶子节点指针进行连接. 图中指针是单向的,但是书上的图是双向的,而且旋转应该也是双向才能完成) B+树插入处理 Leaf Pa ...

  10. laravel多环境配置(local&comma;testing&comma;production)

    根据不同的环境有不同的配置,laravel中,可以把配置写到.env文件中 在系统中,可以使用env(key, "默认值")来获取env中的配置信息 在laravel中运行时,会运 ...