zoukankan      html  css  js  c++  java
  • bootstrap框架学习(一)

      进入主题之前先说一段我学习bootstrap的历程:因客户需要,公司需要把系统的某个模块从系统中独立出来,并且这个任务由我负责,这样一来这个新做的(小)系统应该不太复杂,而恰好我最近对bootstrap有那么一点了解(去官网看了下,很高大上),所以我就用了(因为之前的系统使用jQuery-easyUI,我觉得它性能比较差)bootstrap。不过,做了一周后我发现,bootstrap满足不了我的需求,它更适合普通的网页,easyUI中有的好多控件都没有,比如:表单的异步提交、confirm弹出框、alert弹出框等等。虽然这样,我还是继续用了下去,因为它做出来的页面比较“高大上”,哈哈。最后,我又加入了jqueryUI的许多控件才终于完成了任务。

      最后,说一下我对easyUI和bootstrap的理解,如果有不对的地方,还请大家指出来。对于easyUI,我用的时间加在一起应该有差不多2年的时间,我觉得它的特点就是功能强大,操作简单,企业项目中用到的所有控件几乎都有,这一点很强大。不过,对于它的性能确实不太好,我在IE8和更低版本中用过,页面加载慢,特别是数据量多的,一个页面出来要好几秒钟的时间,我记得我们还花了好长时间来做这一块的优化。而对于bootstrap,我这个初学者对使用过它之后的感受是做的页面漂亮,更适合应用在普通的网页上。当然,我在浏览网页时也看到一些水友说可以将easyUI与bootstrap结合起来使用,我感觉这也许是一个不错的选择,呵呵。

    一、表格

    $(function(){
        
        /*$.ajaxSetup({
            async: false
        });*/
        
        //1.初始化Table
        var oTable = new TableInit();
        oTable.Init();
    
        //2.初始化Button的点击事件
        var oButtonInit = new ButtonInit();
        oButtonInit.Init();
    });
    
    var TableInit = function(){
        var oTableInit = new Object();
        //初始化Table
        oTableInit.Init = function(){
            $('#tb_data').bootstrapTable({
                url: '/publish/getProjectList',            //请求后台的URL(*)
                method: 'get',                             //请求方式(*)
                dataType: 'json',                          
                toolbar: '#toolbar',                       //工具按钮用哪个容器
                striped: false,                            //是否显示行间隔色
                cache: false,                              //是否使用缓存,默认为true,所以一般情况下需要设置一下这个属性(*)
                pagination: true,                          //是否显示分页(*)
                showPaginationSwitch: false,               //是否显示分页数
                sortable: false,                           //是否启用排序
                sortOrder: "asc",                          //排序方式
                queryParams: oTableInit.queryParams,       //传递参数(*)
                queryParamsType: '',                       //如果要在oTableInit.queryParams方法获取pageNumber和pageSize的值,需要将此值设置为空字符串(*)
                sidePagination: 'server',                  //分页方式:client客户端分页,server服务端分页(*)
                pageNumber: 1,                             //初始化加载第一页,默认第一页
                pageSize: 10,                              //每页的记录行数(*)
                pageList: [10, 20, 30],                    //可供选择的每页的行数(*)
                search: false,                             //是否显示表格搜索,此搜索是客户端搜索,不会进服务端,所以,个人感觉意义不大
                strictSearch: true,                       
                showColumns: true,                         //是否显示所有的列
                showRefresh: true,                         //是否显示刷新按钮
                minimumCountColumns: 2,                    //最少允许的列数
                clickToSelect: true,                       //是否启用点击选中行
                singleSelect: true,
                height: $(window).height()-140,            //行高,如果没有设置height属性,表格自动根据记录条数觉得表格高度
                uniqueId: "ID",                            //每一行的唯一标识,一般为主键列
                showToggle: true,                          //是否显示详细视图和列表视图的切换按钮
                cardView: false,                           //是否显示详细视图
                detailView: false,                         //是否显示父子表
                paginationPreText: "上一页",
                paginationNextText: "下一页",
                columns: [{
                    checkbox:true
                }, {
                    field: 'index',
                     35,
                    formatter : function(value, row, index) {
                        // 在源代码中加入getPage方法
                        var page = $('#tb_data').bootstrapTable("getPage");
                        return page.pageSize * (page.pageNumber - 1) + index + 1;
                    }
                }, {
                    field: 'id',
                    title: '任务ID',
                    align: 'center'
                }, {
                    field: 'description',
                    title: '描述',
                    align: 'center'
                }, {
                    field: 'statusName',
                    title: '状态',
                    align: 'center'
                }, {
                    field: 'releaseDate',
                    title: '发布时间',
                    align: 'center'
                }, {
                    field: 'gmtCreate',
                    title: '创建时间',
                    align: 'center'
                }, {
                    field: 'creatorCn',
                    title: '创建人',
                    align: 'center'
                }, {
                    field: 'releaseTime',
                   // title: '发布日期',
                    visible: false
                }, {
                    field: 'descriptionCheck',
                   // title: '描述类型',
                    visible: false
                }],
                onDblClickRow:function(row, $element){
                    var url = '/publish/intoProjectInfoPage?projectId='+row.id;
                    window.open(url);
                },
                onClickRow:function(row, $element, field){
                    if(row.statusName!='待审核' && row.statusName!='准备提测'){
                        $('#deleteBtn').prop("disabled", true);
                    }else{
                        $('#deleteBtn').prop("disabled", false);
                    }
                }
            });
        };
        
        //得到查询的参数
        oTableInit.queryParams = function(params) {
         // 特别说明:
         // 如果queryParamsType=limit,params包含{limit, offset, search, sort, order}
         // 如果queryParamsType!=limit,params包含{pageSize, pageNumber, searchText, sortName, sortOrder}
    var temp = { //这里的键的名字和控制器的变量名必须一直,这边改动,控制器也需要改成一样的 pageSize: params.pageSize, //页面大小 pageNumber: params.pageNumber //页码 }; return temp; }; return oTableInit; }; var ButtonInit = function () { var oInit = new Object(); oInit.Init = function () { //初始化页面上面的按钮事件 $('#saveProjectBtn').click(function(){ });   $('#addBtn').click(function(){   });   // 编辑任务按钮点击事件   $('#editBtn').click(function(){    });   // 删除任务按钮点击事件   $('#deleteBtn').click(function(){    var arr = $('#tb_data').bootstrapTable('getSelections');   if(arr.length>0){ confirmMessage('确定删除此任务吗?', deleteTask);   }else{ alertMessage("请选择一条数据");   }    });
      };
      return oInit; 
    };
  • 相关阅读:
    nginx升级总结,漏洞升级
    【BUG解决】在git上pull时提示You have not concluded your merge. (MERGE_HEAD exists)
    如何自签名把http网站变成https网站(https自签名方法)
    ifly
    Shell排序和二叉树排序
    C/C++复习笔记(2)
    C/C++复习笔记(1)
    C语言字符串操作
    python+flask
    C语言的一点复习
  • 原文地址:https://www.cnblogs.com/jadening/p/5692030.html
Copyright © 2011-2022 走看看