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示例收集
Nov 05 Javascript
js输入框邮箱自动提示功能代码实现
Dec 10 Javascript
多种方法实现load加载完成后把图片一次性显示出来
Feb 19 Javascript
上传图片预览JS脚本 Input file图片预览的实现示例
Oct 23 Javascript
浅析javascript中的Event事件
Dec 09 Javascript
JS实现移动端实时监听输入框变化的实例代码
Apr 12 Javascript
详解Vue 方法与事件处理器
Jun 20 Javascript
基于js 本地存储(详解)
Aug 16 Javascript
微信小程序如何使用canvas二维码保存至手机相册
Jul 15 Javascript
js实现简单掷骰子效果
Oct 24 Javascript
Vuex的API文档说明详解
Feb 05 Javascript
学习 Vue.js 遇到的那些坑
Feb 02 Vue.js
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/02 无线电
php实现读取超大文件的方法
2014/07/28 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
jQuery chili图片远处放大插件
2009/11/30 Javascript
jQuery .tmpl() 用法示例介绍
2014/08/21 Javascript
jQuery中mouseover事件用法实例
2014/12/26 Javascript
使用javascript实现监控视频播放并打印日志
2015/01/05 Javascript
在其他地方你学不到的jQuery小贴士和技巧(欢迎收藏)
2016/01/20 Javascript
JavaScript实现点击按钮字体放大、缩小
2016/02/29 Javascript
js验证手机号、密码、短信验证码代码工具类
2020/06/24 Javascript
利用JS实现文字的聚合动画效果
2017/01/22 Javascript
MvcPager分页控件 适用于Bootstrap
2017/06/03 Javascript
JS实现经典的中国地区三级联动下拉菜单功能实例【测试可用】
2017/06/06 Javascript
使用cropper.js裁剪头像的实例代码
2017/09/29 Javascript
node前端模板引擎Jade之标签的基本写法
2018/05/11 Javascript
代码整洁之道(重构)
2018/10/25 Javascript
layui自己添加图片按钮并点击跳转页面的例子
2019/09/14 Javascript
原生js+ajax分页组件
2020/01/30 Javascript
pyqt4教程之实现半透明的天气预报界面示例
2014/03/02 Python
Python2.x中文乱码问题解决方法
2015/06/02 Python
Python实现发送QQ邮件的封装
2017/07/14 Python
python 中的divmod数字处理函数浅析
2017/10/17 Python
TensorFlow实现Softmax回归模型
2018/03/09 Python
Python 实现字符串中指定位置插入一个字符
2018/05/02 Python
python导入pandas具体步骤方法
2019/06/23 Python
解决pycharm下os.system执行命令返回有中文乱码的问题
2019/07/07 Python
从numpy数组中取出满足条件的元素示例
2019/11/26 Python
全球最大的游戏市场:G2A
2018/07/05 全球购物
公司企业表扬信
2014/01/11 职场文书
供用电专业求职信
2014/07/07 职场文书
2015年八一建军节演讲稿
2015/03/19 职场文书
入党积极分子考察意见
2015/06/02 职场文书
全民创业工作总结
2015/08/13 职场文书
2016年寒假政治学习心得体会
2015/10/09 职场文书
python opencv检测直线 cv2.HoughLinesP的实现
2021/06/18 Python
Pandas 稀疏数据结构的实现
2021/07/25 Python