2016-06-26 7 views
0

私はこの質問に対して複数の回答を見ましたが、その作業を見つけることができませんでした。jQueryのダイアログボックスから十字ボタンのないタイトルバーを削除

閉じるボタンを押したままjQueryUIダイアログボックスからタイトルバーを削除するにはどうすればよいですか?

これを試しても機能しません。また、それは良い解決策ではありません。

$("#example").dialog(dialogOpts); 
// remove the title bar 
$(".ui-dialog-titlebar").hide(); 

私はこれに続き、タイトルバーを取り除くことができました。しかし、これも閉じるボタンを取り除き、タイトルバーがないので、ダイアログボックスはもはやドラッグできません。

jquery UI dialog: how to initialize without a title bar?

は、私は、タイトルバーを取り除くために、ここでこのフィドルに従い、閉じるボタンを維持しようとしました。

http://jsfiddle.net/NK2qm/2/

しかし、これはすべてのダイアログボックスのためのCSSを変更し、ダイアログボックスの下に三角形を追加します。これは、ダイアログボックスの1つのクラスに対してのみ発生し、下部にある三角形を除いたものです。

誰かがこれを行う方法を示すフィドルでこの質問に返信できますか?

ありがとうございました。

+0

「マイダイアログ」のタイトルは必要ありませんか? – Thinker

+0

はい。タイトルは必要ありません。閉じるボタンが必要です。フィドルリンクをチェックしてください。実際に問題全体を解決します。それはすべてのダイアログボックスを変更するだけです。この問題を解決するためにそのフィドルを修正することはできますか? – akshitBhatia

+0

あなたはそのクラスを使って削除できますか? – Thinker

答えて

1

解決策の1つは、jQueryUIダイアログの2番目のインスタンスを作成し、そのインスタンスをCSSで対象にすることです。

jsFiddle Demo

CSSは次のようになりますGoogle Chromeで

[aria-labelledby=ui-id-2].ui-dialog .ui-dialog-titlebar { 
    background:transparent; 
    border:none; 
} 
[aria-labelledby=ui-id-2].ui-dialog .ui-dialog-title { 
    display:none; 
} 

を、あなたは、タイトルバーを右クリックして、使用するaria-labelledby値を知っているとInspectを選択することができます。 左側のペインでHTMLを慎重に調べて、右側のペインでCSS値のチェックを外したり変更したりしてみてください。

.ui-resizable-handle .ui-resizable-s::after疑似要素の下にある三角形が原因です。あなたは私がそれをスタイルしようとしていたのを見ることができますが、私はあなたが理解するためにそれを残すでしょう(または別のSOの質問をする)。

+0

フィビッドから:: beforeと:: after部分をコメントアウトしました。これは私が探していた解決策です。 http://jsfiddle.net/NK2qm/125/ – akshitBhatia

+0

しかし、dialogClassオプションを活用し、それに応じてCSSを変更する方法はありますか?私はそれが良い方法だと感じています。 – akshitBhatia

+1

はい、このようにすることができます(http://jsfiddle.net/NK2qm/126/)。 2番目のダイアログの定義済みの設定を変更するには、2番目の '.option()'メソッドを追加する必要があることに注意してください。 *別の方法としては、$( '#dialog1') 'と$( '#dialog2')' * – gibberish

関連する問題