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 相关文章推荐
调用js时ie6和ie7,ff的区别
Aug 19 Javascript
javascript实现阻止iOS APP中的链接打开Safari浏览器
Jun 12 Javascript
使用documentElement正确取得当前可见区域的大小
Jul 25 Javascript
JQuery设置时间段下拉选择实例
Dec 30 Javascript
jQuery事件绑定on()、bind()与delegate() 方法详解
Jun 03 Javascript
JavaScript简单实现弹出拖拽窗口(二)
Jun 17 Javascript
JS实现页面进入和返回定位到具体位置
Dec 08 Javascript
js数字舍入误差以及解决方法(必看篇)
Feb 28 Javascript
解决vue-router进行build无法正常显示路由页面的问题
Mar 06 Javascript
详解webpack4多入口、多页面项目构建案例
May 25 Javascript
原生JS实现的放大镜特效示例【测试可用】
Dec 08 Javascript
JavaScript跳出循环的三种方法(break, return, continue)
Jul 30 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投票程序源码
2007/03/11 PHP
PHP限制页面只能在微信自带浏览器访问的代码
2014/01/15 PHP
php页码形式分页函数支持静态化地址及ajax分页
2014/03/28 PHP
thinkPHP实现表单自动验证
2014/12/24 PHP
php通过PHPExcel导入Excel表格到MySQL数据库的简单实例
2016/10/29 PHP
Laravel的Auth验证Token验证使用自定义Redis的例子
2019/09/30 PHP
通过js脚本复制网页上的一个表格的不错实现方法
2006/12/29 Javascript
用js实现键盘方向键翻页功能的代码
2007/06/03 Javascript
File, FileReader 和 Ajax 文件上传实例分析(php)
2011/04/27 Javascript
JS刷新当前页面的几种方法总结
2013/12/24 Javascript
一个JavaScript用逗号分割字符串实例
2014/09/22 Javascript
JavaScript制作windows经典扫雷小游戏
2015/03/31 Javascript
js实现一个链接打开两个链接地址的方法
2015/05/12 Javascript
JavaScript实现的背景自动变色代码
2015/10/17 Javascript
JS代码防止SQL注入的方法(超简单)
2016/04/12 Javascript
jQuery实现checkbox即点即改批量删除及中间遇到的坑
2017/11/11 jQuery
微信小程序实现点击按钮修改文字大小功能【附demo源码下载】
2017/12/06 Javascript
jQuery NProgress.js加载进度插件的简单使用方法
2018/01/31 jQuery
安装Node.js并启动本地服务的操作教程
2018/05/12 Javascript
create-react-app使用antd按需加载的样式无效问题的解决
2019/02/26 Javascript
JS操作Fckeditor的一些常用方法(获取、插入等)
2020/02/19 Javascript
JavaScript中的this妙用实例分析
2020/05/09 Javascript
JavaScript实现消消乐的源代码
2021/01/12 Javascript
python3 实现的人人影视网站自动签到
2016/06/19 Python
pycharm: 恢复(reset) 误删文件的方法
2018/10/22 Python
python正则表达式匹配不包含某几个字符的字符串方法
2019/07/23 Python
Python爬虫爬取百度搜索内容代码实例
2020/06/05 Python
使用css3绘制出各种几何图形
2016/08/17 HTML / CSS
英国最全面的橄榄球联盟门票网站:Live Rugby Tickets
2018/10/06 全球购物
班主任工作经验交流材料
2014/05/13 职场文书
音乐节策划方案
2014/06/09 职场文书
毕业横幅标语
2014/10/08 职场文书
人力资源部工作计划
2019/05/14 职场文书
唤醒紫霞仙子,携手再游三界!大话手游X《大话西游》电影合作专属剧情任务
2022/04/03 其他游戏
Windows Server 2012配置DNS服务器的方法
2022/04/29 Servers
JS高级程序设计之class继承重点详解
2022/07/07 Javascript