sencha touch 模仿tabpanel导航栏TabBar的实例代码


Posted in Javascript onOctober 24, 2013

基于sencha touch 2.2所写

代码:

/*
*模仿tabpanel导航栏
*/
Ext.define('ux.TabBar', {
    alternateClassName: 'tabBar',
    extend: 'Ext.Toolbar',
    xtype: 'tabBar',
    config: {
        docked: 'bottom',
        cls: 'navToolbar',
        layout: {
            align: 'stretch'
        },
        defaults: {
            flex: 1
        },
        //被选中的按钮
        selectButton: null
    },
    initialize: function () {
        var me = this;
        me.callParent();
        //监听按钮点击事件
        me.on({
            delegate: '> button',
            scope: me,
            tap: 'onButtonTap'
        });
    },
    //更新被选中按钮
    updateSelectButton: function (newItem, oldItem) {
        console.log(oldItem);
        if (oldItem) {
            oldItem.removeCls('x-tabBar-pressing');
        }
        if (newItem) {
            newItem.addCls('x-tabBar-pressing');
        }
    },
    //当按钮被点击时
    onButtonTap: function (button) {
        this.setSelectButton(button);
    },
    /**
    * @private 
    *执行添加项,调用add方法后自动执行
    */
    onItemAdd: function (item, index) {
        if (!this.getSelectButton() && item.getInitialConfig('selected')) {
            this.setSelectButton(item);
        }
        this.callParent(arguments);
    }
});

需要的css:

.navToolbar {
    padding:0;
}
.navToolbar .x-button {
    border:0;
    margin:0;
    border-right:1px solid #585B5B;
    border-radius:0;
    padding:0;
}
.navToolbar .x-button .x-button-label {
    font-weight:normal;
    color:White;
    font-size:0.6em;
}
.navToolbar .x-tabBar-pressing {
    background-image:none;
    background-color:#0f517e;
    background-image:-webkit-gradient(linear,50% 0%,50% 100%,color-stop(0%,#0a3351),color-stop(10%,#0c4267),color-stop(65%,#0f517e),color-stop(100%,#0f5280));
    background-image:-webkit-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);
    background-image:-moz-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);
    background-image:-o-linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);
    background-image:linear-gradient(top,#0a3351,#0c4267 10%,#0f517e 65%,#0f5280);
}

使用:

Ext.define('app.view.MyBar', {
    alternateClassName: 'myBar',
    extend: 'ux.TabBar',
    xtype: 'myBar',
    config: {
        items: [
        {
            xtype: 'button',
            text: '问卷调查',
            //只有第一个设置的属性有效
            selected: true
        },
        {
            xtype: 'button',
            text: '我的积分'
        },
        {
            xtype: 'button',
            text: '开奖大厅'
        },
        {
            xtype: 'button',
            text: '幸运号码'
        },
        {
            xtype: 'button',
            text: '更多'
        }]
    }
});

效果图:

sencha touch 模仿tabpanel导航栏TabBar的实例代码

Javascript 相关文章推荐
jQuery select操作控制方法小结
May 26 Javascript
JQuery实现table行折叠效果以JSON做数据源
May 26 Javascript
js+html5获取用户地理位置信息并在Google地图上显示的方法
Jun 05 Javascript
使用mint-ui开发项目的一些心得(分享)
Sep 07 Javascript
vue-router相关基础知识及工作原理
Mar 16 Javascript
详解VUE中常用的几种import(模块、文件)引入方式
Jul 03 Javascript
详解jQuery中的getAll()和cleanData()
Apr 15 jQuery
koa2 从入门到精通(小结)
Jul 23 Javascript
Vue中import from的来源及省略后缀与加载文件夹问题
Feb 09 Javascript
小程序自定义导航栏兼容适配所有机型(附完整案例)
Apr 26 Javascript
JS加载解析Markdown文档过程详解
May 19 Javascript
微信小程序实现上传多张图片、删除图片
Jul 29 Javascript
jQuery设置div一直在页面顶部显示的方法
Oct 24 #Javascript
JS+CSS设置img在DIV中只显示Img垂直居中的部分
Oct 24 #Javascript
JS 获取滚动条高度示例代码
Oct 24 #Javascript
通过javascript把图片转化为字符画
Oct 24 #Javascript
js编写trim()函数及正则表达式的运用
Oct 24 #Javascript
原生JS实现加入收藏夹的代码
Oct 24 #Javascript
js实现浏览器的各种菜单命令比如打印、查看源文件等等
Oct 24 #Javascript
You might like
西德产收音机
2021/03/01 无线电
PHP4之COOKIE支持详解
2006/10/09 PHP
PHP的博客ping服务代码
2012/02/04 PHP
php实现word转html的方法
2016/01/22 PHP
用javascript实现读取txt文档的脚本
2007/07/20 Javascript
完整显示当前日期和时间的JS代码
2007/09/17 Javascript
FireFox与IE 下js兼容触发click事件的代码
2008/11/20 Javascript
jQuery点击自身以外地方关闭弹出层的简单实例
2013/12/24 Javascript
JavaScript中的数组特性介绍
2014/12/30 Javascript
jQuery中nextAll()方法用法实例
2015/01/07 Javascript
jQuery手机浏览器中拖拽动作的艰难性分析
2015/02/04 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
30分钟快速掌握Bootstrap框架
2016/05/24 Javascript
Angular.JS中的指令引用template与指令当做属性详解
2017/03/30 Javascript
vue自定义全局组件(自定义插件)的用法
2018/01/30 Javascript
vue指令只能输入正数并且只能输入一个小数点的方法
2018/06/08 Javascript
MVVM框架下实现分页功能示例
2018/06/14 Javascript
JQuery实现简单的复选框树形结构图示例【附源码下载】
2019/07/16 jQuery
Python笔记(叁)继续学习
2012/10/24 Python
Python中Django发送带图片和附件的邮件
2017/03/31 Python
python实现简单点对点(p2p)聊天
2017/09/13 Python
Python爬虫实例_利用百度地图API批量获取城市所有的POI点
2018/01/10 Python
不归路系列:Python入门之旅-一定要注意缩进!!!(推荐)
2019/04/16 Python
通过python改变图片特定区域的颜色详解
2019/07/15 Python
python障碍式期权定价公式
2019/07/19 Python
python解释器spython使用及原理解析
2019/08/24 Python
利用Tensorflow的队列多线程读取数据方式
2020/02/05 Python
Python 没有main函数的原因
2020/07/10 Python
python super()函数的基本使用
2020/09/10 Python
UGG雪地靴荷兰官网:UGG荷兰
2016/09/09 全球购物
劳资专员岗位职责
2013/12/27 职场文书
安全生产汇报材料
2014/02/17 职场文书
新学期教师寄语
2014/04/02 职场文书
机关作风建设自查报告及整改措施
2014/10/21 职场文书
2014年个人售房协议书
2014/10/30 职场文书
永中文档在线转换预览基于nginx配置部署方案
2022/06/10 Servers