• mass Framework tabs插件 v2


    随着uibase模块的完成,许多共用功能都往上挪到其父类中去。tabs模块只专注于它专业功能与其他新功能就行。

    v2的新功能,除了可以选定页面某一块具有TABS结构的HTML片断作为它的UI实体外,现在我还允许像EXT用户那样完全不出HTML,光用JS就可以拼凑出华丽的界面。当然越漂亮的界面就越要求有丰富的背景图片。目前,我的UI还没有用到图片。待UI组件丰富起来再说。选定页面结构,我们使用data_expr,意即数据来源的CSS表达式,第二种则用到data属性,二选一。它们在代码中的体现如下:

            if(typeof ui.data_expr === "string" && ui.data_expr.length > 1){
                ui.target = $(ui.data_expr);//选中页面上类似结构的HTML作为ui实体
            }else{
                ui.target = createTabs(ui.data, ui)//创建一个ui实体
                ui.target.find( "div" ).first().addClass(ui.active_class); //默认选中第一个切换卡
            }
    

    另一个新功能,就是增加了add方法,用于动态添加一个新的切换卡。到此为止,我们可以让程序或用户选中某一个切换卡,移除切换卡与添加切换卡了。

    例子:

    CSS代码:

                .mass_tabs {
                    position:relative;
                    height:200px;
                    400px;
                    padding-left:20px;
                    padding-top:5px;
                    background:#464646;
                    overflow:hidden;
                }
                .mass_tabs .section {
                    float:left;
                }
                .mass_tabs .trigger {
                    display:inline-block;
                    height:20px;
                    line-height:20px;
                    padding:2px 10px 1px;
                    margin-left:5px;
                    color:#000;
                    background:#708090;
                    text-align:center;
                    text-decoration:none;
                }
                .mass_tabs .active .trigger{
                    padding-bottom:8px;/* panel.top - parent.padding-top - tigger.height */
                    color:#ff8000;
                    background:#000;
                }
                .mass_tabs .panel{
                    display: none;
                    position:absolute;
                    420px;/* parent.width+ parent.padding-left*/
                    height:175px;/* parent.height +  padding-top - tabs.top */
                    top: 30px;
                    left:0px;
                    color:#fff;
                    background:#000;
                }
                .mass_tabs .active .panel{
                    display:block;
                }
                .content {
                    margin:5px;
                }
    

    JS代码

             $.require("ready,more/tabs",function( ){
                    $("#black").tabs({
                        data:[
                            {trigger:"标题1",panel:"<div class=content>面板1</div>"},
                            {trigger:"标题2",panel:"<div class=content>面板2</div>"},
                            {trigger:"标题3",panel:"<div class=content>面板3</div>"},
                            {trigger:"标题4",panel:"<div class=content>面板4</div>"}
                        ]
                    })
                });
    

    更详尽的说明见GITHUB上的文档

  • 相关阅读:
    url分发(二级分发)
    图片的渲染
    自定义admin(self_admin)
    类的方法
    orm分组,聚合查询,执行原生sql语句
    jQuery 插件 jQuery UI的使用
    Spring security 在项目中的使用第二篇之代码实现阶段
    Hibernate 学习笔记第一篇
    Hibernate 学习笔记第三篇
    MySQL 常用命令
  • 原文地址:https://www.cnblogs.com/rubylouvre/p/2379087.html
Copyright © 2020-2023  润新知