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 相关文章推荐
如何在标题栏显示框架内页面的标题
Feb 03 Javascript
纯JavaScript实现的完美渐变弹出层效果代码
Apr 02 Javascript
jquery单击事件和双击事件冲突解决方案
Mar 02 Javascript
jQuery.form插件的使用及跨域异步上传文件
Apr 27 Javascript
完美实现js焦点轮播效果(二)(图片可滚动)
Mar 07 Javascript
react-router中的属性详解
Jun 01 Javascript
浅谈React + Webpack 构建打包优化
Jan 23 Javascript
浅析Vue 和微信小程序的区别、比较
Aug 03 Javascript
在vue项目实现一个ctrl+f的搜索功能
Feb 28 Javascript
js前端传json后台接收‘‘被转为quot的问题解决
Nov 12 Javascript
JavaScript手写数组的常用函数总结
Nov 22 Javascript
vue的项目如何打包上线
Apr 13 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
分页显示Oracle数据库记录的类之一
2006/10/09 PHP
PHP接入微信H5支付的方法示例
2019/10/28 PHP
深入浅析安装PhpStorm并激活的步骤详解
2020/09/17 PHP
Javascript 读后台cookie代码
2008/09/15 Javascript
ExtJS GridPanel 根据条件改变字体颜色
2010/03/08 Javascript
图片onload事件触发问题解决方法
2011/07/31 Javascript
javascript实时获取鼠标坐标值并显示的方法
2015/04/30 Javascript
分享十五款 jQuery 社交网络分享插件
2015/05/16 Javascript
js实现按钮颜色渐变动画效果
2015/08/20 Javascript
jquery实现的淡入淡出下拉菜单效果
2015/08/25 Javascript
深入解析JavaScript编程中的this关键字使用
2015/11/09 Javascript
基于JS实现移动端访问PC端页面时跳转到对应的移动端网页
2020/12/24 Javascript
简单模拟node.js中require的加载机制
2016/10/27 Javascript
JavaScript实现省市联动过程中bug的解决方法
2017/12/04 Javascript
JavaScript实现左侧菜单效果
2017/12/14 Javascript
基于nodejs实现微信支付功能
2017/12/20 NodeJs
详解Angular结合zTree异步加载节点数据
2018/01/20 Javascript
微信小程序实现运动步数排行功能(可删除)
2018/07/05 Javascript
详解从Vue-router到html5的pushState
2018/07/21 Javascript
JavaScript链式调用原理与实现方法详解
2020/05/16 Javascript
python 字符串格式化代码
2013/03/17 Python
Python导出数据到Excel可读取的CSV文件的方法
2015/05/12 Python
python读文件保存到字典,修改字典并写入新文件的实例
2018/04/23 Python
浅谈pandas筛选出表中满足另一个表所有条件的数据方法
2019/02/08 Python
使用python实现画AR模型时序图
2019/11/20 Python
Pycharm修改python路径过程图解
2020/05/22 Python
利用html5 canvas破解简单验证码及getImageData接口应用
2013/01/25 HTML / CSS
Html5实现如何在两个div元素之间拖放图像
2013/03/29 HTML / CSS
标准毕业生自荐信范文
2013/11/04 职场文书
十八届三中全会报告学习材料
2014/02/17 职场文书
政治表现评语
2014/05/04 职场文书
2016新年年会主持词
2015/07/06 职场文书
爱鸟护鸟的宣传语
2015/07/13 职场文书
幼儿园小班教育随笔
2015/08/14 职场文书
小学四年级班主任工作经验交流材料
2015/11/02 职场文书
2016毕业实习单位评语大全
2015/12/01 职场文书