jQueryダイアログのテーマとスタイル
-
22-08-2019 - |
質問
jQueryダイアログのタイトルバーの背景色を変更するにはどうすればよいですか?
テーマローラーを調べましたが、うまく機能しないようです。
ありがとう
解決
私はこの方法(ヘッダーの "UI-状態エラー" スタイルを追加する)を行います:
<script type="text/javascript">
$(function () {
$("#msg").dialog({
open: function () {
$(this).parents(".ui-dialog:first").find(".ui-dialog-titlebar").addClass("ui-state-error");
}
});
});
</script>
他のヒント
ui-dialog-titlebar CSS クラスを変更することで変更できますが、使用することを強くお勧めします。 テーマローラーツール.
以下も参照してください。
ダイアログ内の各要素に関連付けられているクラスがあります。
使用Firebugの要素を検査し、それらのスタイルをCSSを使用します。たとえば、タイトルバーには、クラス「UI-ダイアログタイトルバー」があります。
(これはあなたがjQueryのUIのダイアログを使用していることを前提として)
dialogClass
プロパティを使用します。あなたはjqueryのダイアログでどんなCSSに適用することができます。
以下は、私たちは、ヘッダとコンテンツのブロックをフォーマットされます。
<head>
<style>
.main-dialog-class .ui-widget-header{background: url("/Images/your-background.png") repeat-x scroll 34px 42px #a4cf50;font-size:16px;border:0;text-transform:uppercase}
.main-dialog-class .ui-widget-content{background-image:none;background-color:#fff}
</style>
<script>
$('#jq_dialog').dialog({
title: 'Detalhes do produto',
modal: true,
resizable: false,
width: 500,
maxHeight: 400,
closeText: 'fechar',
draggable: true,
show: 'fade',
hide: 'fade',
dialogClass: 'main-dialog-class'
});
</script>
</head>
<body>
<div id="jq_dialog">Hello StackOverflow!</div>
</body>
前の例では、ウェルが、エラーのテーマのみを赤色で動作します。
ここだけCSSのヘッダ画像を変更すると、単純な解決策:
CSSます:
.ui-widget-header-custom{
background: #f6a828 url(../images/ui-bg_flat_95_0a43ac_40x100.png) 50% 50% repeat-x;
}
ジャバスクリプトます:
$('#my_dialog').dialog({
open: function(event, ui){
$(this).parents(".ui-dialog:first").find(".ui-widget-header")
.removeClass("ui-widget-header").addClass("ui-widget-header-custom");
}
});
前の例とその反対に注意してください、私は取り除かます:
removeClass("ui-widget-header")
だけではなく、上のクラスを追加する:
find(".ui-dialog-titlebar")
この例では、そのリンクせずにダイアログヘッダーで動作することに注意してください必要があります。
時には、CSSファイルを編集することはできません。だから、あなたはこれを試すことができます:
dialog = $('<div/>').dialog({
title: 'Dialog with css for title bar',
open: function() {
$(this).parents(".ui-dialog:first").find('.ui-dialog-titlebar').css('background-color','#275D9E');
}
});
所属していません StackOverflow