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/jquery对上传文件格式过滤的方法
Jul 25 Javascript
你必须知道的JavaScript 变量命名规则详解
May 07 Javascript
Jjcarousellite 实现图片列表滚动的简单实例
Nov 29 Javascript
jquery.validate 自定义验证方法及validate相关参数
Jan 18 Javascript
浅谈jquery高级方法描述与应用
Oct 04 Javascript
bootstrap模态框远程示例代码分享
May 22 Javascript
jQuery实现鼠标滑过商品小图片上显示对应大图片功能【测试可用】
Apr 27 jQuery
vue主动刷新页面及列表数据删除后的刷新实例
Sep 16 Javascript
vue组件之间的数据传递方法详解
Apr 19 Javascript
微信小程序—setTimeOut定时器的问题及解决
Jul 26 Javascript
用Node写一条配置环境的指令
Nov 14 Javascript
如何基于javascript实现贪吃蛇游戏
Feb 09 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面向对象分析设计的61条军规小结
2010/07/17 PHP
phpmailer发送邮件之后,返回收件人是否阅读了邮件的方法
2014/07/19 PHP
Yii2实现ajax上传图片插件用法
2016/04/28 PHP
PHP使用PHPExcel删除Excel单元格指定列的方法
2016/07/06 PHP
php文件上传原理与实现方法详解
2019/12/20 PHP
Firebug 字幕文件JSON地址获取代码
2009/10/28 Javascript
jquery 插件开发 extjs中的extend用法小结
2013/01/04 Javascript
jquery等宽输出文字插件使用介绍
2013/09/18 Javascript
javascript实现下拉提示选择框
2015/12/29 Javascript
jQuery Chart图表制作组件Highcharts用法详解
2016/06/01 Javascript
AngularJS实现动态编译添加到dom中的方法
2016/11/04 Javascript
Vue.js组件tree实现省市多级联动
2016/12/02 Javascript
懒加载实现的分页&&网站footer自适应
2016/12/21 Javascript
vue源码学习之Object.defineProperty 对数组监听
2018/05/30 Javascript
微信小程序的部署方法步骤
2018/09/04 Javascript
微信h5静默和非静默授权获取用户openId的方法和步骤
2020/06/08 Javascript
Python使用django获取用户IP地址的方法
2015/05/11 Python
Python中shutil模块的学习笔记教程
2017/04/04 Python
详解Python 模拟实现生产者消费者模式的实例
2017/08/10 Python
Python3 log10()函数简单用法
2019/02/19 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
Python实现爬取网页中动态加载的数据
2020/08/17 Python
Python使用socket模块实现简单tcp通信
2020/08/18 Python
关于前端上传文件全面基础扫盲贴(入门)
2019/08/01 HTML / CSS
美国护肤咨询及美容产品电商:Askderm
2017/02/24 全球购物
《跟踪台风的卫星》教学反思
2014/04/10 职场文书
文明美德伴我成长演讲稿
2014/05/12 职场文书
优秀少先队辅导员先进事迹材料
2014/05/18 职场文书
四风问题班子对照检查材料
2014/09/27 职场文书
2014年世界艾滋病日演讲稿
2014/11/28 职场文书
保研推荐信格式
2015/03/25 职场文书
考试后的感想
2015/08/07 职场文书
小学英语教师研修感悟
2015/11/18 职场文书
微信小程序实现录音Record功能
2021/05/09 Javascript
Opencv中cv2.floodFill算法的使用
2021/06/18 Python
gojs实现蚂蚁线动画效果
2022/02/18 Javascript