我想知道网站jsfiddle.net是如何处理他们的文本区域的。当你调整一个文本区域的大小时,其他文本区域会缩小/增加大小。我一直在尝试使用CSS来实现这个效果,但是当我调整一个文本区域的大小时,其他文本区域会跑到第一个文本区域下面。就像这样。
|[ ][ ]|
resize work....
|[ ] |
[]
所以另一个文本区域会下移。|代表主页的两侧,[]代表文本区域。
我想知道网站jsfiddle.net是如何处理他们的文本区域的。当你调整一个文本区域的大小时,其他文本区域会缩小/增加大小。我一直在尝试使用CSS来实现这个效果,但是当我调整一个文本区域的大小时,其他文本区域会跑到第一个文本区域下面。就像这样。
|[ ][ ]|
resize work....
|[ ] |
[]
所以另一个文本区域会下移。|代表主页的两侧,[]代表文本区域。
var onDrag_horizontal = function(h) {
var windows = h.getParent().getElements('.window');
var top = (h.getPosition(this.content).y + h.getHeight() / 2) / this.content.getHeight() * 100;
windows[0].setStyle('height', top + '%');
windows[1].setStyle('height', 100 - top + '%');
}.bind(this);
onDrag_vertical也是同样的功能,但是使用垂直手柄来调整两列的大小。
var onDrag_vertical = function(h) {
var left = (h.getPosition(this.content).x + h.getWidth() / 2) / this.content.getWidth() * 100;
this.columns[0].setStyle('width', left + '%');
this.columns[1].setStyle('width', 100 - left + '%');
}.bind(this);
我觉得现在有你的帮助,我能够解决它了。我之前使用的是相对位置,但应该使用绝对位置,这样文本区域就不会跳下去了。我正在使用jQuery的可调整大小UI,因为基本JavaScript中的onresize只适用于窗口而不适用于其他元素。
基本上,让左侧文本区域可调整大小,并添加事件“resize”,每当它可调整大小时,其他文本区域的尺寸也会随之改变,如下所示:
$('#rightBox').css('width', totalsize + (ui.originalSize.width - ui.size.width));
$('#rightBox').css('height', totalsize + (ui.originalSize.height- ui.size.height));
top
/left
/bottom
/right
CSS 属性... - Šime Vidas