【发布时间】:2016-07-01 12:30:31
【问题描述】:
我正在创建一个支持聊天的网站。我想让它看起来和 gmail 聊天完全一样意味着用户可以调整聊天字段的大小。
我已经做到了,但存在一个问题:当我调整任何字段的大小时,如果大小达到 1100 像素,那么它应该停止进一步增加,但它不会停止。我为它编写了代码,但它有一些问题。我的代码如下:
HTML代码是:
<div class="chat">
<div class="chatt-demo" id="resizeDiv" style="border: 1px solid #000;width:100px;height:100px;margin left: 10px;">First
</div>
<div class="chatt-demo" id="resizeDiv" style="border: 1px solid #000;width:100px;height:100px;margin left: 10px;">First
</div>
<div class="chatt-demo" id="resizeDiv" style="border: 1px solid #000;width:100px;height:100px;margin left: 10px;">First
</div>
<div class="chatt-demo" id="resizeDiv" style="border: 1px solid #000;width:100px;height:100px;margin left: 10px;">First
</div>
</div>
而 jQuery 代码是:
$('.chatt-demo').resizable({
//containment: ".chart-area",
maxHeight: 580,
//maxWidth: 300,
minHeight: 330,
minWidth: 200,
handles: "n, nw, w, sw",
resize: function(event, ui) {
// return value from another function
restrictSize(ui);
}
});
function restrictSize(ui) {
var w = GetWidths('.chatt-demo');
function GetWidths(id) {
var i = 0;
maxwidth = 250;
$(id).not('.hide-show-chatted').each(function (index) {
i += parseInt($(this).width(), 10);
});
if(i > 1100){
//if(maxwidth <= 0){ maxwidth = 250; }
//maxheight = 250; ui.size.height = ui.size.height > maxheight ? maxheight : ui.size.height;
//ui.size.width = ui.size.width > maxwidth ? maxwidth : ui.size.width;
// ui.size.width = 500;
ui.size.width = maxWidth;
// here I have tried many solutions like fixed width and all but no succeess.
}
}
}
在上面的代码中,当大小达到 1100 时,div 会自动调整到 250 左右。但我希望它不应该减小而是停在那里,并且用户不能进一步增加大小。
请大家帮忙。
【问题讨论】:
-
因为您分配了
ui.size.width = maxWidth;和maxwidth = 250。改变它。 -
为什么不使用
maxWidth: 1100??? -
仅供参考,ID 在文档上下文中必须是唯一的
-
@Wolff 你可以参考gmail聊天系统
-
我只想在 1100px 宽度后停止调整大小。
标签: javascript jquery html css chat