`
cloklo
  • 浏览: 27357 次
  • 性别: Icon_minigender_1
  • 来自: 襄阳
社区版块
存档分类
最新评论

完美解决desktop图标换行问题

    博客分类:
  • HTML
 
阅读更多

<转载 http://www.uspcat.com/forum.php?mod=viewthread&tid=3524

此方法能随浏览器的大小自动排列图标

在desktop.js中扩展一个函数

initShortcut : function() {
        var btnHeight = 64;
        var btnWidth = 64;
        var btnPadding = 30;
        var col = {index : 1,x : btnPadding};
        var row = {index : 1,y : btnPadding};
        var bottom;
        var numberOfItems = 0;
        var taskBarHeight = Ext.query(".ux-taskbar")[0].clientHeight + 40;
        var bodyHeight = Ext.getBody().getHeight() - taskBarHeight;
        var items = Ext.query(".ux-desktop-shortcut");

        for (var i = 0, len = items.length; i < len; i++) {
            numberOfItems += 1;
            bottom = row.y + btnHeight;
            if (((bodyHeight < bottom) ? true : false) && bottom > (btnHeight + btnPadding)) {
                numberOfItems = 0;
                col = {index : col.index++,x : col.x + btnWidth + btnPadding};
                row = {index : 1,y : btnPadding};
            }
            Ext.fly(items[i]).setXY([col.x, row.y]);
            row.index++;
            row.y = row.y + btnHeight + btnPadding;
        }
    }

 

在createDataView添加一个监听器

createDataView: function () {
        var me = this;
        return {
            xtype: 'dataview',
            overItemCls: 'x-view-over',
            trackOver: true,
            itemSelector: me.shortcutItemSelector,
            store: me.shortcuts,
            tpl: new Ext.XTemplate(me.shortcutTpl),
            listeners:{
                resize:me.initShortcut
            }
        };
    }

 

在afterRender渲染结束时调用函数

afterRender: function () {
        var me = this;
        me.callParent();
        me.el.on('contextmenu', me.onDesktopMenu, me);
        Ext.Function.defer(me.initShortcut,1);
    }

 

分享到:
评论

相关推荐

    extjs4.0desktop图标换行

    完美实现desktop桌面图标自动换行功能

    extjs4 桌面图标换行

    extjs4.0 实现桌面图标换行,具体改动参考 4.0.2a\examples\desktop\App.js 核心方法参考这句 //这里初始化所有图标 this.initShortcut(); 我觉得我说的很清楚了,还不明白的留言,一点js不懂的请闪开,谢谢

    Ext 4 桌面图标换行

    全部是在desktop.js中操作,首先扩展一个换行函数, 然后添加一个监听器 最后渲染结束时调用函数 OK

    ExtJS[Desktop]实现图标换行示例代码

    ExtJS中的desktop的demo中,默认的图标排列是不换行的,这就造成了如果桌面上的图标过多的话,当超出桌面区域,会造成图标遮盖,即超出桌面区域的部分会被任务栏遮挡,以下代码就是为了解决这一问题的。 首先,在...

    extjs4.2 desktop 拓展

    extjs4.2 desktop demo 拓展功能:图标换行,拖动,多级开始菜单,修正extjs4.2的一些bug,加了几个桌面图标,纯js无后台程序,无需发布即可浏览。

    桌面图标玩具Desktop Icon Toy

    Desktop Icon Toy 是一款桌面图标管理工具,你可以用它保存当前桌面图标的位置,激活被其它窗口挡住的图标、当然也可以去除快捷方式上的小箭头。 这个清凉简单的工具,你可以组织和安排所有的桌面图标变成简单的排列...

    ExtJs6 Desktop

    本桌面拓展自ExtJs6.0 DeskTop Demo 主要作如下修改: 1. 修改提示宽度不能自适应问题 ...4. 解决桌面图标拖动后闪屏问题 5. 桌面背景默认拉伸 6. 增加中文支持文件 7. 任务栏背景色 8. 开始菜单多级菜单 9. 登录窗口

    MacOS下安装Genero Desktop Client及参数配置方法

    MacOS 下安装 Genero Desktop Client 及参数配置方法 MacOS 作为一款流行的操作系统,广泛应用于各个领域,而 Genero Desktop ...同时,也提供了常见问题解决方法,以便读者能够更好地使用 Genero Desktop Client。

    myBase Desktop 6.0.4 完美破解版

    myBase Desktop 6.0.4 完美破解版myBase Desktop 6.0.4 完美破解版

    Desktop Icon Toy4.0 固定桌面图标

    Desktop Icon Toy4.0 固定桌面图标 11

    [桌面图标玩具].Desktop.Icon.Toy.v4.0_X86_X64_Kegen

    Desktop Icon Toy 是一款桌面图标管理工具,你可以用它保存当前桌面图标的位置,激活被其它窗口挡住的图标、当然也可以去除快捷方式上的小箭头。 这个清凉简单的工具,你可以组织和安排所有的桌面图标变成简单的排列...

    extjs4.2 desktop

    extjs4.2 desktop 保留4种主题 最小化需要文件,并实现简单汉化,图标换行,图标拖动等 只有不到3M, 省去许多初学者的重复劳动。

    解决Ubuntu Desktop和Centos Desktop安装Nvidia驱动后桌面异常问题.doc

    解决Ubuntu Desktop和Centos Desktop安装Nvidia驱动后桌面异常问题.doc

    自动隐藏桌面图标 Auto Hide Desktop Icons 6.12

    解决使用多台显示器启动桌面图标隐藏功能时遇到的问题。 桌面图标的自动隐藏功能已专门调整,以确保在 Windows 11 下顺畅运行。 语言文件已更新,以确保在不同语言下准确运行并增强用户体验。 实施这些更新是为了...

    Desktop Clock

    Desktop Clock

    SciHub Desktop.zip

    SciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop.zipSciHub Desktop....

    ArcGIS Desktop、Server 常见问题

    关于ArcGIS Desktop、Server 常见问题。新手必备排错文档

Global site tag (gtag.js) - Google Analytics