extjs-关于Extjs中悬浮框位置设置的问题。

问题描述

关于Extjs中悬浮框位置设置的问题。
最近在做关于Extjs的实习项目,里面涉及到 的设置,小队头头要求我把悬浮框显示的位置刚好以鼠标作为左上角,对于这个我不知道悬浮框组件中是否有对位置动态捕捉的设定。希望大家能够帮助我答疑解惑。

 Ext.define('query.controller.PayListInfoCheckController' {    extend : 'Ext.app.Controller'    views : [ 'PayListInfoCheckView' ]    stores : [ 'PayListInfoCheckStore' ]    init : function() {        this.control({            'paylistinfocheckview' : {                afterrender : this.afterRender            }            'paylistinfocheckview button[action=search]' : {                click : this.onSearchBtn            }        });    }    afterRender : function(tab) {        var grid = tab.down('grid');        var store = grid.getStore();        store.load();        var view = grid.getView();        var tip = Ext.create('Ext.tip.ToolTip' {            target : view.el            mouseOffset : [ -50 -20 ]            delegate : view.cellSelector            trackMouse : false            frame : true            layout : 'fit'            showDelay : 0            dismissDelay : 0            autoHide : false            items : [ {                xtype : 'form'            } ]            listeners : {                beforeshow : function(tip eOptes) {                    var jsDom = tip.triggerElement;                    var detailType = jsDom.getAttribute('detailType');                    var paramsStr = jsDom.getAttribute('paramsArr')                    if (!detailType || !paramsStr) {                        return false;                    }                    var title = jsDom.getAttribute('paramsTitle');                    var titleArr = null;                    if(title){                        titleArr = title.split('');                    }                    var paramsArr = paramsStr.split('');                    var record = view.getRecord(view                            .findItemByChild(tip.triggerElement));                    var form = tip.down('form');                    var map = {};                    var titleMap = {};                    Ext.suspendLayouts();                    form.removeAll();                    paramsArr.forEach(function(value index) {                        var val = record.get(value);                        if (!Ext.isEmpty(val)) {                            map[value] = val;                            form.add({                                xtype : 'displayfield'                                name : value                            });                            if(titleArr){                                titleMap[value] = titleArr[index];                            }                                                   }                    });                    if (Ext.Object.isEmpty(map)) {                        Ext.resumeLayouts(true);                        return false;                    }                    if(titleArr){                        Ext.Object.each(map function(key value){                            map[key] = titleMap[key] + "":"" + value                        });                    }                    switch (detailType) {                    case 'orderId':                        form.maxWidth = 150;                        break;                    case 'transTime':                        form.maxWidth = 200;                                                break;                    case 'payCustName':                        form.maxWidth = 200;                        //form.maxHeight=300                        break;                    case 'payCustCardNo':                        form.maxWidth = 200;                        //form.maxHeight=900                        break;                    }                    form.getForm().setValues(map);                    Ext.resumeLayouts(true);                }            }        });    }    // tabAfterRender: function (tab) {    // var me = this;    // Ext.Ajax.request(    // {    // url: 'query/view/list'    // success: function (response) {    // var obj = Ext.decode(response.responseText);    // if (obj.success) {    // var data = obj.data;    // var combo = tab.down('extendcombo[name=orderType]');    // combo.setDefaultValue(data.id function () {    // // 在获取到当前用户开之后才加载数据    // me.searchButtonClick(tab.down('button[text=查询]'));    // });    // }    // }    // });    // }    onSearchBtn : function(btn) {        var tab = btn.up('paylistinfocheckview');        var form = tab.down('form');        var store = tab.down('grid').getStore();        var map = form.getForm().getValues();        // 额外加上排序        map.orderBy = true;        store.getProxy().extraParams = map;        store.loadPage(1);    }// searchBtnClicked: function (btn) {// var tab = btn.up('paylistinfocheckview').down('grid')// store = tab.getStore();// var tab1=btn.up('paylistinfocheckview');// var orderId = tab1.down('textfield[name=orderId]').getValue();// var userId = tab1.down('textfield[name=userId]').getValue();// var customerId = tab1.down('textfield[name=customerId]').getValue();// store.loadPage(1 {// params: {// orderId: orderId// userId: userId// customerId: customerId// }// callback: function (records operation success) {// if (!success) {// Ext.MessageBox.alert('内部错误');// }// }// });// }});

这是我对界面的controller代码,,这是悬浮框。这个界面并不是完善后的。

解决方案

EXT 框架现在用的人都少了,都使用jquery了,换框架吧。

解决方案二:
悬浮框显示的位置刚好以鼠标作为左上角,这个是什么意思。。

你设置好tooltip的target就好了。会自动定位到target的左上角。如果是鼠标当前位置。将target设置为body,通过setPosition调整位置

http://docs.sencha.com/extjs/4.1.3/#!/api/Ext.tip.ToolTip-method-getPosition

时间: 2024-09-13 16:41:25

extjs-关于Extjs中悬浮框位置设置的问题。的相关文章

360极速浏览器下载保存位置设置教程

  360极速浏览器下载保存位置设置教程: 1.打开360极速浏览器,找到下载设置按钮,位置在右下角 当然你也可以在下载管理框那里打开下载设置 2.进入设置界面后,在下载设置中点击"更改"按钮 3.自定义下载文件保存位置, 4.点击确定后,上边会有修改已生效提示 5.最重要的一步是你要重启浏览器,要不然是没有生效的哦!

mfc-MFC CScrollView派生类滚动条位置设置问题

问题描述 MFC CScrollView派生类滚动条位置设置问题 我需要在类视图中框选一个区域,然后以框选的中心为基准显示在视图区的中心,我的思路是,先算出框中心点坐标,然后转换成逻辑坐标,除以框选前图像放大的倍率,再乘上现在要放大的倍率,减去客户区的一半,得到的结果用来设置滚动条的位置,但是出来的结果是,框选左上角的时候是正确的,框选右上角,左下角,右下角都不正确,求大神赐教啊! 解决方案 设置滚动条位置 解决方案二: http://blog.sina.com.cn/s/blog_65273b

extjs grid 的header可以动态设置吗?

问题描述 var store = new Ext.data.ArrayStore({fields: [{ name: 'value'}, {name: 'text'}]}); var data = [['1', 'One'], ['2', 'Two'], ['3', 'Three'], ['4', 'Four'], ['5', 'Five'], ['6', 'Six'], ['7', 'Seven'], ['8', 'Eight'], ['9', 'Nine'], ['10', 'Ten'],

ExtJs七(ExtJs Mvc创建ViewPort)

原文 http://www.cnblogs.com/aehyok/archive/2013/04/22/3036084.html 前言 在4.1的时候,要先创建一个扩展于Ext.app.Application的类,然后用create创建它的实例来开始应用程序的.而在 4.1.1,则可直接调用application方法开始执行应用程序,简化了.调用application方法,其参数是一个配置对象,主要配置项有以 下三个: name:用来定义应用程序的名称,在这里是ExtMVCOne. appFol

ExtJs十一(ExtJs Mvc图片管理之一)

原文 http://www.cnblogs.com/aehyok/archive/2013/04/27/3048278.html 前言 图片管理要在两个地方使用:一是标签页内的图片管理,一是文章内容编辑时嵌套到插入图片的窗口内.因而,将图片管理做成一个扩展比较方便.当然,做成MVC模式也行,不争论,不讨论. 要记住,扩展要写在Scripts\ExtJS\Ux目录下,因为在路径的设置中,扩展目录是指向这里的.在该目录下创建一个名为PicManager.js的脚本文件. 片管理的主要界面分两部分,左

ExtJs九(ExtJs Mvc用户管理之一)

原文 http://www.cnblogs.com/aehyok/archive/2013/04/25/3043757.html 首先要做的是为用户信息创建一个模型,在Scripts\app\model目录下创建一个名为User.js的文件,然后添加以下模型定义代码: Ext.define('ExtMVCOne.model.User', { extend: 'Ext.data.Model', fields: [ "id", { name: "Username", d

ExtJs四(ExtJs MVC登录窗口的调试)

原文 http://www.cnblogs.com/aehyok/archive/2013/04/20/3033296.html 前言 继上一节中实现了验证码http://www.cnblogs.com/aehyok/archive/2013/04/19/3030212.html,现在我们可以进行对登录界面进行整合调试了. 正题 打开系统的首页页面文件,Views\Home目录下的Index.cshtml文件.要动态加载登录窗口,需要先设置好加载路径,因而在onReady函数前面加入以下代码:

Word2007文档“默认文件位置”设置 自动保存修改设置

我们在使用Word2007打开文档时,默认文件位置是在 C:UsersAdministratorDocuments ,看见没,默认情况下是C盘,大家应该知道C盘是系统盘,不便存放文件,万一那天系统奔溃了,哭都没眼泪了. 为了大家的安全着想,为了工作时更方便,大家可以将"默认文件位置"修改到其他专门放置文档的地方. Word2007中设置"默认文件位置"步骤如下: 步骤一:打开Word,单击"Office按钮",选择"Word选项&quo

word2003图文框位置设置

  在word2003中,您可将图文框拖至指定位置,也可使其与某参考位置对齐.参考位置可以是段落.页面.页边距或新闻版式中的分栏.图文框会将环绕的文字推至周围.图文框总是锁定在最近的段落上,并总是与锁定段落出现在同一页面. 选中图文框,右键单击,然后单击"设置图文框格式"(或单击菜单栏的"格式"--"图文框"),弹出"图文框"对话框,如图所示.在"水平"和"垂直"区中,单击所需选项,设置