Показать / скрыть DIV с ошибкой javascript - диалоговое окно заблокировано - PullRequest
0 голосов
/ 15 марта 2020

У меня есть этот ASPX:

<div id="IsAccountingOk" class="modalDialog">
    <div>
        <a href="#close" title="Luk" class="close">X</a><br />
        <asp:Label ID="lblIsAccountingOkHeader" runat="server" Text="Kassekladde:" Font-Size="Large"></asp:Label><br /><br />
        <asp:Label ID="lblMessage" runat="server" Text="Der skal først vælges regnskabsår!"></asp:Label><br />
        <br />
        <asp:Button ID="btnIsAccountingOK" runat="server" Text="Ok" OnClick="btnIsAccountingOK_Click"/>
    </div>
</div>

И следующие CSS:

.modalDialog {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;
    pointer-events: none;
}
.modalDialog:target {
    opacity: 1;
    pointer-events: auto;
}
.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}
.close {
    background: #606061;
    color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}
.close:hover {
    background: #00d9ff;
}

Я хочу показать DIV в виде диалогового окна - но диалоговое окно полностью заблокировано и я не могу получить доступ к элементам внутри и к закрытой кнопке тоже. Кроме того, можно получить доступ к остальным элементам управления в фоновом режиме, к которым не следует обращаться.

Я думаю, что мне приходится иметь дело с селектором указателя-событий, но я не знаю, как это сделать. сделайте это: - (

Заранее спасибо.

С уважением, Майкл

(Я обновил CSS в соответствии с селектором стиля непрозрачности.)

Ответы [ 2 ]

0 голосов
/ 15 марта 2020

Вы можете использовать функции скрытия или отображения в jQuery. или если вы хотите установить анимацию, используйте fadeOut (скрыть) или fadeIn (показать).

сначала нужно скрыть элемент. so:

Пример для скрытия элемента:

$('#exampleID').hide();

или

$('#exampleID').fadeOut();

, если вы хотите показать элемент, используйте это:

Пример для отображения элемента :

$('#exampleID').show();

или

$('#exampleID').fadeIn();

Примечание: используйте jQuery 3xx. замените идентификатор вашего элемента на exampleID.

0 голосов
/ 15 марта 2020

Вы устанавливаете неправильное свойство стиля элемента, вы должны установить opacity, чтобы показать элемент:

$(document).ready(function () {
    document.getElementById('IsAccountingOk').style.opacity = 1;
});
.modalDialog {
    position: fixed;
    font-family: Arial, Helvetica, sans-serif;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    background: rgba(0,0,0,0.8);
    z-index: 99999;
    opacity: 0;
    -webkit-transition: opacity 400ms ease-in;
    -moz-transition: opacity 400ms ease-in;
    transition: opacity 400ms ease-in;1
    pointer-events: none;
}
.modalDialog:target {
    opacity: 1;
    pointer-events: auto;
}
.modalDialog > div {
    width: 400px;
    position: relative;
    margin: 10% auto;
    padding: 5px 20px 13px 20px;
    border-radius: 10px;
    background: #fff;
    background: -moz-linear-gradient(#fff, #999);
    background: -webkit-linear-gradient(#fff, #999);
    background: -o-linear-gradient(#fff, #999);
}
.close {
    background: #606061;
    --color: #FFFFFF;
    line-height: 25px;
    position: absolute;
    right: -12px;
    text-align: center;
    top: -10px;
    width: 24px;
    text-decoration: none;
    font-weight: bold;
    -webkit-border-radius: 12px;
    -moz-border-radius: 12px;
    border-radius: 12px;
    -moz-box-shadow: 1px 1px 3px #000;
    -webkit-box-shadow: 1px 1px 3px #000;
    box-shadow: 1px 1px 3px #000;
}
.close:hover {
    background: #00d9ff;
}
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.3.1/jquery.min.js"></script>
<div id="IsAccountingOk" class="modalDialog">
    <div>
        <a href="#close" title="Luk" class="close">X</a><br />
        <asp:Label ID="lblIsAccountingOkHeader" runat="server" Text="Kassekladde:" Font-Size="Large"></asp:Label><br /><br />
        <asp:Label ID="lblMessage" runat="server" Text="Der skal først vælges regnskabsår!"></asp:Label><br />
        <br />
        <asp:Button ID="btnIsAccountingOK" runat="server" Text="Ok" OnClick="btnIsAccountingOK_Click"/>
    </div>
</div>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...