Prosty sposób na zamknięcie alertu po czasie

Odpowiedz Nowy wątek
2019-01-15 14:51
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?

Pozostało 580 znaków

2019-01-15 15:10

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ć.


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say

Pozostało 580 znaków

2019-01-15 15:18
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ść

nie "dzięki", ale "łapkę" w górę oraz "ptaszka" proszę :P - cerrato 2019-01-15 15:19

Pozostało 580 znaków

2019-01-15 15:52
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

Pozostało 580 znaków

2019-01-15 23:05
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! ;-)


"Trolling is a art"
Pokaż pozostałe 3 komentarze
Właśnie też mi przyszło do głowy że coś podobnego robiłam i op został wprowadzony w błąd. - kate87 2019-01-15 23:21
ale dialog to nie alert - stivens 2019-01-15 23:21
Co nie zmienia faktu że można wykorzystać dialog zamiast alertu w takim przypadku. - kate87 2019-01-15 23:22
Owszem. Mamy 2019 rok od kilku dni i używanie alertów wyszło z mody wraz z IE7. Nie sądzę żeby OP miał z tym problem. - Hispano-Suiza 2019-01-15 23:22
i zostalo to napisane - stivens 2019-01-15 23:22

Pozostało 580 znaków

2019-01-15 23:23
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ć."


That game of life is hard to play
I'm gonna lose it anyway
The losing card I'll someday lay
So this is all I have to say
edytowany 1x, ostatnio: cerrato, 2019-01-15 23:25

Pozostało 580 znaków

2019-01-15 23:25
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 ;-)


"Trolling is a art"

Pozostało 580 znaków

2019-01-22 10:39
0

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

Pozostało 580 znaków

Odpowiedz
Liczba odpowiedzi na stronę

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