我正试图在Jquery中重现,当视口大小改变时,Facebook如何隐藏或显示打开的聊天框。基本上,如果您打开了6个聊天窗口,并且如果您调整浏览器的大小或缩小,则在视觉上6可以隐藏某些聊天窗口无法修复屏幕大小。
我正在使用函数$(window).resize()来检测所有打开的窗口的总宽度加上一些边距是否大于窗口的宽度,然后隐藏第一个聊天窗口,或显示最后一个有更多窗户的空间。基本弹出或推送叠加......
我的方法无效,因为无论何时调整大小,我的脚本都会不断尝试隐藏或显示窗口...(参见下面的代码)
任何建议都表示赞赏。
ChatWidget.isEnoughRoom = function() {
return ($(window).width() > ((ChatWidget.WINDOW_WIDTH * $('.chatWindowWidget:visible').length) + ChatWidget.CONTACTLIST_WIDTH + 100));
};
$(window).resize(function(){
if(!ChatWidget.isEnoughRoom()) {
$('.chatWindow:visible:last').hide() ;
} else {
$('.chatWindow:hidden:last').show() ;
}
if(!ChatWidget.isEnoughRoom()) {
$('.chatWindow:visible:last').hide() ;
} else {
$('.chatWindow:hidden:last').show() ;
}
答案 0 :(得分:0)
每次调整窗口大小时,您的问题接缝都会与多次触发调整大小功能相关联。我测试了铬,它触发了两次。 尝试一下: https://github.com/louisremi/jquery-smartresize