我正在尝试在管理区域(编辑后屏幕)弹出窗口,但我无法使我的thickbox比670px(宽度:670px)更宽。
下面是我的thickbox代码,它显示了thickbox:
tb_show( ed.getLang(\'m7.popup_title\'), \'#TB_inline?width=800&height=600&inlineId=mygallery-form\' );
(单击tinyMCE按钮后即可工作)我用id=“TB\\u窗口”获取div
<div id="TB_window" style="width: 670px; height: 216px; margin-left: -335px; top: 48px; margin-top: 0px; visibility: visible;">
(代码来自谷歌浏览器)
所以,如果我手动更改宽度,然后调整浏览器大小,它会将670px返回到宽度。。是否可以通过某种方式更改,使thickbox显示800px宽的所有内容?
它创建id为800px宽的Inside#TB\\u window div=“TB\\u ajaxContent”
最合适的回答,由SO网友:Maikal 整理而成
从我的问题下面的评论中(可能有人会错过它,所以将其作为答案发布)[附言:稍微修改一下]:
我想我找到了一个改变宽度的方法,但这不是真正的解决方案。。我仍然不明白为什么thickbox的宽度是670px(正如你在我的代码中看到的(将在下一步)全局thickbox的宽度是像传递的参数一样设置的!!)因此,解决方案是:
function m7_resize_thickbox(){
jQuery(document).find(\'#TB_window\').width(TB_WIDTH).height(TB_HEIGHT).css(\'margin-left\', - TB_WIDTH / 2);
}
jQuery( document ).on( \'ready\', function() {
tb_show( ed.getLang(\'m7.popup_title\'), \'#TB_inline?width=800&height=600&inlineId=mygallery-form\' );
m7_resize_thickbox(); // after tb_show we need to update width/height values; we could also do something like jQuery( window ).trigger( \'resize\' );
}
jQuery(window).on( \'resize\', m7_resize_thickbox );
SO网友:FiGO
我知道这篇文章很旧,但您可以使用tb\\u show()下面的setAttribute函数重置元素的style属性。
tb_show( ed.getLang(\'m7.popup_title\'), \'#TB_inline?width=800&height=600&inlineId=mygallery-form\' );
// Get the id of the element
var tb = document.getElementById(\'TB_ajaxContent\');
// set the attribute to an empty string or your desired width/height.
tb.setAttribute(\'style\', \'\');
如果将样式属性设置为空字符串,则应该能够从外部文件而不是内联文件使用css。