[Learn AF3]第五章 App Framework 3组件之Drawer——Side Menu
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的更多相关文章
- [Learn AF3]第三章 App Framework 3组件之Panel:afui的核心
Panel,afui的核心组件 组件名称:Panel 使用说明:按照官方的说法,panel组件是af3的“核心(heart of the ui)”,panel用于构造应用中独立的内容展示区域, ...
- [Learn AF3]第四章 App framework组件之Button
Button 组件名称:Button 是否js控件:否 使用说明:如果说panel组件是af3的“核心(heart of the ui)”,那么Button就是af中的五虎上将之 ...
- [Learn AF3]第六章 App Framework 3.0中的内置矢量图标
AF3的内置矢量图标 介绍:要使用af3中的图标,必须首先引入icon.css,由于文件中已经内置了字体文件数据,因此不需要引入字体文件支持. <link rel="styleshee ...
- [Learn AF3]第七章 App framework组件之Popup
AF3的弹出对话框Popup 组件名称:Popup 是否js控件:是,$.afui.popup 说明:af3中的popup和af2中相比变化不大,依然是通过插件popup来实现的 方法 ...
- [Learn AF3]第二章 App Framework 3.0的组件View——AF3的驱动引擎
View:af3中的驱动引擎 组件名称:View 使用说明:按照官方的说法,view组件是af3的“驱动引擎(driving force)”,view是af3应用的基础,一个app中可以包 ...
- 第五章 使用 Bootstrap Typeahead 组件(百度下拉效果)
推荐链接:http://www.cnblogs.com/haogj/p/3376874.html UnderScore官网:http://underscorejs.org/ 参考文档:http://w ...
- [Learn AF3]第一章 如何使用App Framework 3.0 构造应用程序
af3的变化非常大.参见[译]Intel App Framework 3.0的变化 一.应用需要引用的js脚本: af3中不在自己实现dom选择器,而是选择基于jquey或兼容jquery的库如zep ...
- 《Entity Framework 6 Recipes》中文翻译系列 (22) -----第五章 加载实体和导航属性之延迟加载
翻译的初衷以及为什么选择<Entity Framework 6 Recipes>来学习,请看本系列开篇 第五章 加载实体和导航属性 实体框架提供了非常棒的建模环境,它允许开发人员可视化地使 ...
- [译]Intel App Framework 3.0的变化
App Framework 3.0 原文 IAN M. (Intel) 发布于 2015-02-11 05:24 我们高兴地宣布App Framework 的新版本3.0发布了.你可以获得最新的代码 ...
随机推荐
- linux清理Java环境
1.清理Java环境rm -f /usr/bin/javarm -f /etc/alternatives/java rm -f /usr/bin/javacrm -f /etc/alternative ...
- Android使用AsyncTask异步线程网络通信获取数据(get json)
摘要: android 4.0以上强制要求不能在主线程执行耗时的网络操作,网络操作需要使用Thead+Handler或AsyncTask,本文将介绍AsyncTask的使用方法. 内容: 1.添加Ht ...
- iOS开发中的火星坐标系及各种坐标系转换算法
原文地址:http://m.oschina.net/blog/619183?ref=myread 其原理是这样的:保密局开发了一个系统,能将实际的坐标转换成虚拟的坐标.所有在中国销售的数字地图必须使用 ...
- LR中,URL -based script与HTML -based script区别
在Web(HTTP/HTML)录制中,有2种重要的录制模式.用户该选择那种录制模式呢?HTML-mode录制是缺省也是推荐的录制模式.它录制当前网页中的HTML动作.在录制会话过程中不会录制所有的资源 ...
- asp.net基于StateServer的二级域名共享session
备注:亲自试验有效,如果网友有通过下面的教程未实现session共享的,欢迎留言说明你遇到的问题.必有回复. 最近为实现的二级域名共享session纠结好久.网上的很多实现的方法试了都不行,查了很久才 ...
- java基础篇---网络编程(UDP程序设计)
UDP程序设计 在TCP的索引操作都必须建立可靠地连接,这样一来肯定会浪费大量的系统性能,为了减少这种开销,在网络中又提供了另外一种传输协议---UDP,不可靠的连接,这种协议在各个聊天工具中被广泛的 ...
- [转]看懂Oracle执行计划
原文地址:https://www.cnblogs.com/Dreamer-1/p/6076440.html 一:什么是Oracle执行计划? 执行计划是一条查询语句在Oracle中的执行过程或访问路径 ...
- 建立window SVN服务器
在windows下搭建SVN服务器: 首先从http://www.visualsvn.com/server/download/ 下载最新的VisualSVN-Server-x.x.x.msi,然后本机 ...
- Linux下grep、tail、wc、awk文件处理命令
grep Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并匹配行打印出来. 命令语法: usage: grep [-abcDEFGHhIiJLlmnOoqRSsUV ...
- Git做代码增量发布的重要用法 - --diff-filter
你以为有 bash git diff --name-only 就够了,NO! 对于PHP开发的系统来说,增量发布,一般只需部署新增的文件和有变动的文件,但很多时候,文件是删除的或重构成其它文件名或重构 ...