DIJIT | как поменять фон наложения - PullRequest
0 голосов
/ 14 ноября 2011

У меня есть два диалоговых окна на одной странице. Один должен иметь черное наложение, а другой - белый. HTML это:

<div id="test" title="Colorful" dojoType="dijit.Dialog">
content
</div> 

Согласно ожидаемому поведению dijit, он должен дать следующий код

<div dojoattachpoint="node" class="dijitDialogUnderlay _underlay" id="test_underlay"></div>

, в котором, используя ID test_underlay , мы можем настроить фон наложения. Но в моем случае я получаю код ниже во время выполнения.

<div id="dijit_DialogUnderlay_0" class="dijitDialogUnderlayWrapper" widgetid="dijit_DialogUnderlay_0" style="display: block; top: 0px; left: 0px; opacity: 1;"><div dojoattachpoint="node" class="dijitDialogUnderlay" style="width: 1424px; height: 466px;"></div></div>

Есть идеи, почему это происходит ?? Моя версия додзё - 1.2

Ответы [ 2 ]

0 голосов
/ 14 ноября 2011

Попробуйте это:

<html>
    <head>

        <script type="text/javascript">
        var underlay = dijit._underlay;

        dojo.addOnLoad(function(){

                    if(!underlay){
                         underlay = dijit._underlay = new dijit.DialogUnderlay();
            }

            var whiteDialog = dijit.byId("test");
            var blackDialog = dijit.byId("test2");
            dojo.connect(btn1, "onClick", function(e){ whiteDialog.show(); });
            dojo.connect(btn2, "onClick", function(e){ blackDialog.show(); });
        });
    </script>

</head>
<body>

        <div jsId="btn1" dojoType="dijit.form.Button">Show white dialog</div>
        <div jsId="btn2" dojoType="dijit.form.Button">Show black dialog</div>
        <div id="test" title="White" dojoType="dijit.Dialog">
            content
            <script type="dojo/connect" event="onShow">
                dojo.style(underlay.domNode.firstChild, "backgroundColor", "white");
            </script>
        </div>
        <div id="test2" title="Black" dojoType="dijit.Dialog">
            content
            <script type="dojo/connect" event="onShow">
                dojo.style(underlay.domNode.firstChild, "backgroundColor", "black");
            </script>
        </div>
    </div>

</body>
</html>
0 голосов
/ 14 ноября 2011

Установите цвет фона класса dijitDialogUnderlay в вашем CSS.И если по какой-то причине вы загружаете dojo css перед вашим css, вы можете добавить! Важное.

.dijitDialogUnderlay.white_underlay {
    background: none repeat scroll 0 0 #FFFFFF !important;
}

.dijitDialogUnderlay.black_underlay {
    background: none repeat scroll 0 0 #000000 !important;
}

В вашей разметке:

<div id="test" title="Colorful" dojoType="dijit.Dialog" class="black">content</div>
<div id="test" title="Colorful" dojoType="dijit.Dialog" class="white">content</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...