jQuery响应式网格的窍门——动态布局页面

界面控件套包NetAdvantage Ultimate中提供了一个专用于jQuery / HTML5开发的控件集——Ignite UI,其最大特点是针对HTML5的稳定的数据可视化以及迅速的性能。其适用于任何浏览器、任何平台、任何设备的响应式Web设计引起了我们的注意,经过一段时间的测试,慧都打算和大家分享一下,Ignite UI引以为豪的的jQuery响应式网格的一些开发窍门。


动态布局页面

  所谓网格的动态布局页面,就是指当窗口固定,但网格内容和页面元素可以实现缩放和左右移动。这个需求在桌面应用中几乎不是任何问题,但是由于CSS媒 体规则,在移动应用中这个需求很难实现。但是使用Ignite UI的自定义模式配置,在自定义Responsive配置中指定响应宽度,指定模式参数或元素大小(如直接指定网格元素的大小,不指定窗口大小),就能实 现这一需求了。

var expanded = [];
$.ig.loader(function () {
    $('#grid').igHierarchicalGrid({
        //...
        features: [{
            name: 'Responsive',
            columnSettings: [{
                columnKey: 'DepartmentID',
                classes: "ui-hidden-phone"
            }, {
                columnKey: 'ModifiedDate',
                classes: "ui-hidden-phone"
            }],
            responsiveModeChanged: function (evt, ui) {
                expanded = [];
                var HGrid = ui.owner.element.data("igHierarchicalGrid");
                ui.owner.grid.allRows().each(function (index, row) {
                    if (HGrid.expanded(row)) {
                        expanded.push($(row).data("row-idx"));
                    }
                });
            }
        }],
        rowsRendered: function (evt, ui) {
            if ((len = expanded.length) > 0) {
                for (i = 0; i < len; i++) {
                    ui.owner.element.data("igHierarchicalGrid").expand(ui.owner.rowAt(expanded.pop()));
                }
            }
        }
    });
});

  下图就是一个可以内置元素可以移动的响应式对话框:

NetAdvantage开发jQuery响应式网格的三个小窍门

 

posted on 2013-07-05 09:25  坐公交的大叔  阅读(994)  评论(0编辑  收藏  举报

导航