web-dev-qa-db-ja.com

ThickBoxの幅はadminで変更できません

アドミンエリア(編集後の画面)にポップアップを作成しようとしていますが、thickboxを670pxより広くすることはできません(width:670px)。

これがthickboxを示すthickboxコードです。

tb_show( ed.getLang('m7.popup_title'), '#TB_inline?width=800&height=600&inlineId=mygallery-form' );

(それはtinyMCEボタンをクリックした後に動作します)そして私はid = "TB_window"でdivを取得します

<div id="TB_window" style="width: 670px; height: 216px; margin-left: -335px; top: 48px; margin-top: 0px; visibility: visible;">

(コードはGoogleブラウザからのものです)

だから私は手動で幅を変更してブラウザのサイズを変更した場合それは幅に戻って670pxを与える..それはthickboxが800px幅であるすべてのコンテンツを表示するようにどういうわけか変更できますか?

それは幅800pxのid = "TB_ajaxContent"を持つ#TB_window divを作成します。

4
Maikal

私の質問の下のコメントから(誰かがそれを見逃す可能性があるので、答えとしてそれを投稿する)[PS:それをわずかに修正しました]:

私は私が幅を変える方法を見つけたと思います、しかしそれは本当の解決策ではありません。渡された引数のように設定します!!)そのため、解決策は次のとおりです。

function m7_resize_thickbox(){
  jQuery(document).find('#TB_window').width(TB_WIDTH).height(TB_HEIGHT).css('margi‌​n-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 );
1
Maikal

あなたは正しいですそれは変更することはできませんし、それはあなたの質問以来これに変更がないようです。誰かがWordpressコアでこれに取り組むことに興味があるならば、チケットがあります...

Wordpress Core Trac

1
Ryan Bayne

この場合は、CSSを使用して最小幅を800ピクセルにすることができます。

#TB_window {
  min-width:800px!important;
}
1
user3635808

私はこの記事は古くなっていますが、tb_show()のすぐ下にあるsetAttribute関数を使用して要素のスタイル属性をリセットできます。

 tb_show(ed.getLang( 'm7.popup_title')、 '#TB_inline?width = 800&height = 600&inlineId = mygallery-form'); 
 
 //要素のIDを取得する
 。] var tb = document.getElementById( 'TB_ajaxContent'); 
 
 //属性を空の文字列または希望の幅/高さに設定します。
 tb.setAttribute( 'スタイル'、 '');

Style属性を空の文字列に設定した場合は、インラインではなく外部ファイルのcssを使用できるはずです。

1
FiGO

私もこの問題に遭遇しましたが、身長を追加する必要がありました、私はこのCSSコードが非常に効果的であるとわかりました!

.thickbox-loading {
    min-height: 500px!Important;
}

私はこれを私が問題を抱えていたプラグインのためのCSSに、その特定のプラグインのための管理領域に置いたので、それは他に何も影響しないはずです。

お役に立てれば!

0
R. Adamo