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 相关文章推荐
Javascript & DHTML 实例编程(教程)基础知识
Jun 02 Javascript
JavaScript实现按键精灵的原理分析
Feb 21 Javascript
基于vue2.0+vuex的日期选择组件功能实现
Mar 13 Javascript
Angular2数据绑定详解
Apr 18 Javascript
JavaScript中undefined和null的区别
May 03 Javascript
vue2.0结合Element实现select动态控制input禁用实例
May 12 Javascript
vue.js实现刷新当前页面的方法教程
Jul 05 Javascript
使用AngularJS对表单提交内容进行验证的操作方法
Jul 12 Javascript
微信小程序自定义toast实现方法详解【附demo源码下载】
Nov 28 Javascript
JavaScript实现二叉树定义、遍历及查找的方法详解
Dec 20 Javascript
Element-ui之ElScrollBar组件滚动条的使用方法
Sep 14 Javascript
vue实现路由切换改变title功能
May 28 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
php Ajax乱码
2008/04/09 PHP
jQuery+php实现ajax文件即时上传的详解
2013/06/17 PHP
php通过递归方式复制目录和子目录的方法
2015/03/13 PHP
PHP处理postfix邮件内容的方法
2015/06/16 PHP
PHP编程获取各个时间段具体时间的方法
2017/05/26 PHP
Laravel配合jwt使用的方法实例
2020/10/25 PHP
jquery validation插件表单验证的一个例子
2010/03/03 Javascript
浅析Javascript中“==”与“===”的区别
2014/12/23 Javascript
javascript中call,apply,bind的用法对比分析
2015/02/12 Javascript
flash+jQuery实现可关闭及重复播放的压顶广告
2015/04/15 Javascript
浅析js中substring和substr的方法
2015/11/09 Javascript
Bootstrap布局组件应用实例讲解
2016/02/17 Javascript
jQuery实现选项联动轮播效果【附实例】
2016/04/19 Javascript
jQuery插件AjaxFileUpload实现ajax文件上传
2016/05/05 Javascript
使用bootstrap3开发响应式网站
2016/05/12 Javascript
JS不完全国际化&本地化手册 之 理论篇
2016/09/27 Javascript
jquery hover 不停闪动问题的解决方法(亦为stop()的使用)
2017/02/10 Javascript
基于JavaScript实现淘宝商品广告效果
2017/08/10 Javascript
echarts学习笔记之箱线图的分析与绘制详解
2017/11/22 Javascript
详解在React-Native中持久化redux数据
2019/05/22 Javascript
js实现随机div颜色位置 类似满天星效果
2019/10/24 Javascript
vue 动态组件用法示例小结
2020/03/06 Javascript
浅谈Vue 自动化部署打包上线
2020/06/14 Javascript
JS sort排序详细使用方法示例解析
2020/09/27 Javascript
python实现FTP服务器服务的方法
2017/04/11 Python
Flask框架Jinjia模板常用语法总结
2018/07/19 Python
python监控进程状态,记录重启时间及进程号的实例
2019/07/15 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
PyTorch加载自己的数据集实例详解
2020/03/18 Python
利用matplotlib为图片上添加触发事件进行交互
2020/04/23 Python
澳大利亚领先的在线美容商城:Adore Beauty
2017/04/14 全球购物
GWT的应用有哪两种部署模式
2012/12/21 面试题
核心价值观演讲稿
2014/05/13 职场文书
2014年绿化工作总结
2014/12/09 职场文书
预备党员转正材料
2014/12/19 职场文书
求职简历自我评价范文
2015/03/10 职场文书