Prosty sposób na zamknięcie alertu po czasie

0

Czy jest jakiś prosty sposób na zamknięcie windows.alert po określonym czasie?


function playCookie(){
    
    alert("Potwierdź zgodę");
}


To jest najprostsza możliwa funkcja wyczekująca na potwierdzenie zgody użytkownika nie ważne na co, wywoływana przez inną funkcję JS..
Rzecz w tym, że chciałbym aby w wypadku braku zgody okno zamykało się samo po jakimś czasie. Tyle, że nie wiem jak do tego się dobrać bo właściwie kiedy funkcja jest wywołana to nie ma do niej dostępu. Zapewne można by tu wygenerować jakis boks jakis modal czy coś jeszcze innego i wykorzystać setTimeout ale pytanie czy nie da się w prosty sposób przerobić tego. Jeżeli jednak nie, to czy mógłbym prosić o jakiś link z sugestią jak to zrobić zaczynając od 0?

2

Alerta programowo nie zamkniesz.

Jeśli chcesz pokazać użytkownikowi jakąś informacje, która po jakimś czasie zniknie samoczynnie (czyli bez klikania przez użytkownika) to musisz zrobić to w inny sposób - jakiś popup albo coś w stylu lightbox'a, które sam stworzysz i które będziesz mógł samodzielnie kontrolować.

0
cerrato napisał(a):

Alerta programowo nie zamkniesz.

Jeśli chcesz pokazać użytkownikowi jakąś informacje, która po jakimś czasie zniknie samoczynnie (czyli bez klikania przez użytkownika) to musisz zrobić to w inny sposób - jakiś popup albo coś w stylu lightbox'a, które sam stworzysz i które będziesz mógł samodzielnie kontrolować.

Dzięki, podejrzewałem że to mniej więcej jakoś tak będzie wyglądało ale teraz mam pewność

1
Kiszuriwalilibori napisał(a):
cerrato napisał(a):

Alerta programowo nie zamkniesz.

Jeśli chcesz pokazać użytkownikowi jakąś informacje, która po jakimś czasie zniknie samoczynnie (czyli bez klikania przez użytkownika) to musisz zrobić to w inny sposób - jakiś popup albo coś w stylu lightbox'a, które sam stworzysz i które będziesz mógł samodzielnie kontrolować.

Dzięki, podejrzewałem że to mniej więcej jakoś tak będzie wyglądało ale teraz mam pewność

zrobione

3

@Kiszuriwalilibori:

Plik html:

<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js"></script>
<script src="http://ajax.aspnetcdn.com/ajax/jquery.ui/1.11.3/jquery-ui.js" type="text/javascript"></script>
<link href="http://code.jquery.com/ui/1.11.3/themes/smoothness/jquery-ui.css" rel="stylesheet" type="text/css" />
<input type="button" id="button-show" value="Show Popup" />
<div id="time-dialog" style="display: none">
    Okno zamknie się za 3 sekundy.
</div>

Dołącz js w środku albo do zewnętrznego pliku:

<script type="text/javascript">
    $(function () {
        $("#button-show").click(function () {
            $("#time-dialog").dialog({
                modal: true, title: "Modal", width: 180, height: 120,  // parametry okna
                open: function (event, ui) {
                    setTimeout(function () {
                        $("#time-dialog").dialog("close");
                    }, 3000);  // 3000 = 3 skeundy
                }
            });
        });
    });
</script>

I zabierz jemu znaczek pomocy, a wręcz mi, dzięki! ;-)

1

Moja najdroższa @kate87 - zanim zaczniesz krytykować i wytykać błędy, to zrozum różnicę między windows.alert a wyświetleniem, a następnie schowaniem elementu typu <DIV>.

A o rozwiązaniu podanym przez @Hispano-Suiza wspomniałem w pierwszym poście - "Jeśli chcesz pokazać użytkownikowi jakąś informacje, która po jakimś czasie zniknie samoczynnie (czyli bez klikania przez użytkownika) to musisz zrobić to w inny sposób - jakiś popup albo coś w stylu lightbox'a, które sam stworzysz i które będziesz mógł samodzielnie kontrolować."

2
cerrato napisał(a):

Moja najdroższa @kate87 - zanim zaczniesz krytykować i wytykać błędy, to zrozum różnicę między windows.alert a wyświetleniem, a następnie schowaniem elementu typu <DIV>.

Mój najdroższy @cerrato, czytaj ze zrozumieniem.

Zapewne można by tu wygenerować jakis boks jakis modal czy coś jeszcze innego i wykorzystać setTimeout ale pytanie czy nie da się w prosty sposób przerobić tego. Jeżeli jednak nie, to czy mógłbym prosić o jakiś link z sugestią jak to zrobić zaczynając od 0?

Dobrej nocy ;-)

0

Dziękuję wszystkim za wkład. Ostatecznie jest to zrobione w prosty sposób na divie z przełączana widocznością/ukrywaniem

1 użytkowników online, w tym zalogowanych: 0, gości: 1