制作一个可以拖动的面板 Ext.Panel很简单 网上也有例子 下面的代码就能实现
//可以拖动的面板
function panelDrag()...{
var panel=new Ext.Panel(...{
title: '拖一下看看我动不.',
x:88,
y: 88,
renderTo: Ext.getBody(),//x,y,renderTo:Ext.getBody()初始化panel的位置
floating: true,//true
frame: true,//圆角边框
width: 400,
height: 200,
draggable: ...{
insertProxy: false,//拖动时不虚线显示原始位置
onDrag : function(e)...{
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);//获取拖动时panel的坐标
var s = this.panel.getEl().shadow;
if (s) ...{
s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
}
},
endDrag : function(e)...{
this.panel.setPosition(this.x, this.y);//移动到最终位置
}
}
})
}
但是,我要是把这个可以拖动的Panel放在另一个不可以拖动的Panel里的虽然可以拖动但是效果不怎么好 稍微动一下Panel就会移动特别多 而且和自己实际的拖动位置不符合。这种情况怎么解决?哪位大哥大姐遇到过 解决了小弟多散点分 呵呵
//可以拖动的面板
function panelDrag()...{
var panel=new Ext.Panel(...{
title: '拖一下看看我动不.',
x:88,
y: 88,
renderTo: Ext.getBody(),//x,y,renderTo:Ext.getBody()初始化panel的位置
floating: true,//true
frame: true,//圆角边框
width: 400,
height: 200,
draggable: ...{
insertProxy: false,//拖动时不虚线显示原始位置
onDrag : function(e)...{
var pel = this.proxy.getEl();
this.x = pel.getLeft(true);
this.y = pel.getTop(true);//获取拖动时panel的坐标
var s = this.panel.getEl().shadow;
if (s) ...{
s.realign(this.x, this.y, pel.getWidth(), pel.getHeight());
}
},
endDrag : function(e)...{
this.panel.setPosition(this.x, this.y);//移动到最终位置
}
}
})
}
但是,我要是把这个可以拖动的Panel放在另一个不可以拖动的Panel里的虽然可以拖动但是效果不怎么好 稍微动一下Panel就会移动特别多 而且和自己实际的拖动位置不符合。这种情况怎么解决?哪位大哥大姐遇到过 解决了小弟多散点分 呵呵
解决方案 »
免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货