gpt4 book ai didi

javascript - 使用 jQuery-Chosen 时,Fancybox 的内容大小错误?

转载 作者:行者123 更新时间:2023-11-28 08:56:18 27 4
gpt4 key购买 nike

我有一个 Fancybox 弹出窗口,它使用 AJAX 来获取内容。

获取的 html 是一个 div,包含标题、带有输入字段的表格和一些按钮。

问题是,我得到了额外的填充,或者尺寸太小;无论如何,我有不必要的滚动条。我可以使用 CSS 的 overflow 或 Fancybox 的 scrolling 属性完全禁用它们,但我不希望完全禁用它们 - 仅在必要时添加。

我正在使用 jQuery Chosen 插件,这就是导致溢出的原因;我怎样才能避免这种情况?

div 内容由客户端修改,因为它们可以动态添加/删除行 - 因此我需要显示滚动条,以防用户添加太多行以适应屏幕。到目前为止发生的情况如下:

scrollbars

这有什么问题吗?这是我的 CSS:

#filter-form {
width: 550px;
}
#filter-form h2 {
text-align: center;
}
#filter-form .chzn-results {
max-height: 110px;
}
#filter-form .buttons {
margin-top: 10px;
overflow: hidden;
}
#filter-form .buttons .btn_save_filter {
float: right;
}
#assoc-num, #assoc-string {
display: none;
}

#filter-form #CustomUserFilters_title {
width: 350px;
display: block;
margin: 0 auto 30px;
}
#add-new-row td {
text-align: right;
}
#add-new-row button {
display: inline;
}
#filter-rules, #filter-form .buttons {
width: 500px;
margin: 0 auto;
}
#filter-rules td {
width: 25% !important;
}

宽度设置并不重要 - 删除它们或增加它们仍然会导致它们 - 所以 Fancybox 的自动调整大小功能不会认为内容变小 - 它总是调整它需要的大小,减去一些导致溢出的像素。

这是 HTML(我知道很困惑):

<div id="filter-div">
<form action="/customUserFilters/create" id="filter-form">
<h2>Create Filter</h2>
<input placeholder="Filter name" type="text" value="" name="CustomUserFilters[title]" id="CustomUserFilters_title"><table id="filter-rules">
<tbody><tr class="filter-row">
<td class="td-bool-op"></td>
<td class="td-field-id"><select id="" style="width: 150px;" name="CustomUserFilterSettings[][field_id]">
<option value="2">Name</option>
</select></td>
<td class="td-assoc"><select style="width: 100px;" name="CustomUserFilterSettings[][assoc]">
<option value="=">=</option>
</select></td>
<td class="td-value"><input type="text" value="" name="CustomUserFilterSettings[][value]" id="CustomUserFilterSettings_value"></td></tr> <tr id="new-filter">

<td class="td-bool-op"><select id="" style="width: 60px;" name="CustomUserFilterSettings[][bool_op]">
<option value="AND" selected="selected">AND</option>
<option value="OR">OR</option>
</select></td>
<td class="td-field-id"><select id="" style="width: 150px;" name="CustomUserFilterSettings[][field_id]">
<option value="2">Name</option>
</select></td>
<td class="td-assoc"><select style="width: 100px;" name="CustomUserFilterSettings[][assoc]">
<option value="=">=</option>
</select></td>
<td class="td-value"><input type="text" value="" name="CustomUserFilterSettings[][value]" id="CustomUserFilterSettings_value"></td> </tr>
<tr id="add-new-row">
<td colspan="4">
<button id="add-new-row-button" class="btn_grey" name="yt0" type="button">+ Add Another Condition</button> </td>
</tr>
</tbody></table>
<div class="buttons">
<button class="btn_orange btn_save_filter" name="yt1" type="button">Create Filter</button> <button class="btn_grey btn_cancel_filter" name="yt2" type="button">← Cancel</button></div>
</form>

这是 Fancybox 初始化:

$('#new_filter_button').fancybox({
beforeLoad: function() {
$('.qtip').hide();
},
type: 'ajax',
href: window.baseUrl + '/customUserFilters/create',
openEffect: 'fade',
closeEffect: 'fade',
wrapCSS: 'filters-box'
});

最佳答案

事实证明,Fancybox 隐藏了溢出的内容。

由于我使用了 jQuery Chosen Plugin,即使盒子关闭,它们的容器仍然在页面中,只是隐藏 - 这导致 div 高于应有的高度,但对于某些人来说原因 Fancybox 不仅仅导致对话框变大,因为下拉菜单被隐藏了,它出于某种原因将其排除在高度之外,尽管它仍然占用垂直空间。然后水平滚动条从对话框中获取宽度并导致宽度溢出,这就是导致垂直滚动条的原因。

该死!希望这个答案能帮助其他遇到这个问题的人

关于javascript - 使用 jQuery-Chosen 时,Fancybox 的内容大小错误?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18439562/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com