`
Mint_Grass
  • 浏览: 63126 次
  • 性别: Icon_minigender_1
  • 来自: 新疆
社区版块
存档分类
最新评论

Ext.Window显示座标的问题(已解决)

阅读更多
系统环境:
主页的排板为: 左侧是系统功能树, 右侧以Tab的形式显示各个功能页面.

现用Ext.Window做了一个统一的选择人员窗口. 在普通的JSF页面上引用. 为了节约系统资源,
重写window的close()方法, 将其隐藏.

即: 用户每次在调用此Window的时候, 先判断当前Window是否已实例化(把window定义成一个全局变量进行引用), 如果未实例化时,才new window()出来, 如果已实例化过, 直接调用window.show().

问题的产生:
1.因为左侧显示系统具体功能的是Iframe, 随着各功能页面内容的不同, 很可能会出现滚动条.

2.当出现滚动后, 例如页面刚加载进来,有一个连接是调用此window的, 在滚动条滚动后, 在页面的下方还有一处也调用了此window.

3.因为第一次点击时,已实例了此window, 这时, window的显示座标已确定下来. 当滑动滚动条,点击第二个选择人员功能时, window还是会显示在第一次实例化时, 所计算出来的position. (如果每次window都是new出来的话,不会存在此问题. 此时必须重新设定其position才行.)

解决方案:
1.发现Ext.Window中有一个方法 syncSize(), 具体说明如下:
引用

syncSize() : Ext.BoxComponent
Force the component's size to recalculate based on the underlying element's current height and width.
Force the component's size to recalculate based on the underlying element's current height and width.
Parameters:

    * None.

Returns:

    * Ext.BoxComponent
      this

尝试在window.show()之前调用此方法, 但却报错. (this.el 为空). 由于时间关系,没有继续研究如何解决.

2.其实之前最先想到的方法是 setPosition(), 但由于参数没有确定下来,所以才想尝试syncSize(). 没办法, 继续研究setPosition()方法的参数. 经测试:
引用

document.body....出来的参数,都没有达到预期效果.
最后使用:window.innerwidth 和 window.innerHeight 解决了.


最终代码如下:
if(!_orgWin)
    _orgWin = new OrganizationWindow();
_orgWin.setPosition(window.innerwidth, window.innerHeight);
_orgWin.show();

0
0
分享到:
评论
1 楼 michael88wen 2011-08-09  
我用 ContentPanel 的 syncSize  可以同步树

相关推荐

    Ext Js权威指南(.zip.001

    Ex4.0共2个压缩包特性,《ext js权威指南》 前 言 第1章 ext js 4开发入门 / 1 1.1 学习ext js必需的基础知识 / 1 1.2 json概述 / 3 1.2.1 认识json / 3 1.2.2 json的结构 / 3 1.2.3 json的例子 / 4 1.2.4 ...

    ExtJs_xtype一览

    - `window`:`Ext.Window`,创建可弹出的浮动窗口,具有关闭、最大化、最小化等特性。 - `viewport`:`Ext.ViewPort`,全屏容器,与浏览器视口大小一致,可以自动调整大小。 - `box`:`Ext.BoxComponent`,基本的...

    ext事件模型

    在这个例子中,首先使用`Ext.lib.Event.on()`绑定了一个加载事件监听器到`window`对象上,当页面加载完成后,会执行回调函数。在回调函数内部,通过`Ext.get()`获取了ID为`test`的DOM元素,并为其添加了一个点击事件...

    extjs 图表制作

    - 然后,定义一个Ext.container.Viewport或Ext.window.Window来承载图表。 - 接着,创建一个Ext.chart.Chart实例,配置好数据源、系列、轴和其他选项。 3. **数据绑定** - 数据可以通过Ext.data.Store进行管理,...

    EXT中文手册8

    ### EXT中文手册8:深入解析EXT框架的关键组件与布局管理 ...无论是构建复杂的树状数据展示、设计灵活的窗口界面,还是实现自适应的全屏幕应用,EXT都能够提供相应的解决方案,帮助开发者快速构建高质量的Web应用。

    extjs3中引入地图

    这段代码在DOM准备就绪后,创建了一个新的BMap.Map对象,设置了中心点坐标(北京)和初始缩放级别。 除了基本的地图展示,EXTJS3与百度地图的结合还可以实现更多的功能,如标记、信息窗口、路径规划等。例如,我们...

    PyQt5-OpenGL.rar

    OpenGL使用顶点、纹理坐标和索引来描述几何形状,并通过着色器程序来处理这些数据,进行光照、纹理映射等计算,生成最终的像素颜色。 OpenGL支持多种版本,从早期的固定功能管线(Fixed Function Pipeline)到现代...

    ExtJS的xtype列表

    - `cartesianchart`: 笛卡尔坐标系图表,基础图表类型,可以扩展为其他图表。 以上就是ExtJS中一些主要的`xtype`及其对应组件的介绍。通过灵活组合这些组件,开发者可以创建出各种复杂的用户界面,满足不同业务...

    CAD快捷键命令

    - F6:坐标(Coordinates) - 显示当前位置的坐标值。 - F7:栅格(Grid) - 显示或隐藏栅格。 - F8:正交(Ortho) - 开启或关闭正交模式,确保直线与水平或垂直方向对齐。 - F9:捕捉(Snap) - 开启或关闭对象...

    cad 总结

    ### CAD 快捷键及相关知识点总结 #### 一、CAD基础操作及快捷键说明 ...可以通过删除`AcPltStamp.arx`文件来解决问题。 以上就是关于CAD的一些快捷键和其他相关知识点的总结,希望能对大家有所帮助。

    javascript移动开发中touch触摸事件详解

    在W3C DOM规范中,事件对象作为事件处理函数的第一个参数传入,而在Internet Explorer中,事件对象作为`window`对象的一个属性,可当作全局变量使用。 在处理touch事件时,需要注意的一个细节是,当你使用像jQuery...

    auto cad快捷键大全

    - **F2**: 切换文本窗口(Switch Text Window) - **F3**: 切换对象捕捉(Toggle Object Snap) - **F4**: 应用快速选择(Apply Quick Select) - **F5**: 切换正交模式(Toggle Ortho Mode) - **F6**: 切换状态栏...

Global site tag (gtag.js) - Google Analytics