abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
AbcLinuxu hledá autory!
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 17:55 | Zajímavý projekt

    Společnost Hugging Face ve spolupráci se společností Pollen Robotics představila open source robota Reachy Mini (YouTube). Předobjednat lze lite verzi za 299 dolarů a wireless verzi s Raspberry Pi 5 za 449 dolarů.

    Ladislav Hagara | Komentářů: 4
    11.7. 16:44 | Komunita

    Dnes v 17:30 bude oficiálně vydána open source počítačová hra DOGWALK vytvořena v 3D softwaru Blender a herním enginu Godot. Release party proběhne na YouTube od 17:00.

    Ladislav Hagara | Komentářů: 4
    11.7. 14:55 | Humor

    McDonald's se spojil se společností Paradox a pracovníky nabírá také pomocí AI řešení s virtuální asistentkou Olivii běžící na webu McHire. Ian Carroll a Sam Curry se na toto AI řešení blíže podívali a opravdu je překvapilo, že se mohli přihlásit pomocí jména 123456 a hesla 123456 a získat přístup k údajům o 64 milionech uchazečů o práci.

    Ladislav Hagara | Komentářů: 15
    11.7. 00:11 | Nová verze

    Byla vydána (𝕏) červnová aktualizace aneb nová verze 1.102 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.102 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.

    Ladislav Hagara | Komentářů: 1
    10.7. 21:00 | Bezpečnostní upozornění

    Byla vydána nová verze 2.4.64 svobodného multiplatformního webového serveru Apache (httpd). Řešeno je mimo jiné 8 bezpečnostních chyb.

    Ladislav Hagara | Komentářů: 4
    10.7. 15:22 | Nová verze

    Společnost xAI na síti 𝕏 představila Grok 4, tj. novou verzi svého AI LLM modelu Grok.

    Ladislav Hagara | Komentářů: 12
    10.7. 12:55 | Bezpečnostní upozornění

    Ministerstvo vnitra odhalilo závažný kyberincident v IT systému resortu. Systém, do kterého se dostal útočník bez oprávnění, byl odpojen a nedošlo k odcizení dat [𝕏].

    Ladislav Hagara | Komentářů: 16
    10.7. 11:55 | Humor

    Před rokem byla streamovací služba HBO Max přejmenována na Max. Dle managementu slovo HBO v názvu nebylo důležité. Včera byl Max přejmenován zpět na HBO Max. Kolik milionů dolarů to stálo? 😂

    Ladislav Hagara | Komentářů: 16
    10.7. 02:11 | Nová verze

    Byla vydána nová major verze 8.0.0 svobodného systému pro detekci a prevenci průniků a monitorování bezpečnosti počítačových sítí Suricata (Wikipedie). Přehled novinek v oficiálním oznámení a v aktualizované dokumentaci.

    Ladislav Hagara | Komentářů: 0
    10.7. 01:11 | Nová verze

    Mastodon (Wikipedie) - sociální síť, která není na prodej - byl vydán ve verzi 4.4. Přehled novinek s náhledy a videi v oznámení na blogu.

    Ladislav Hagara | Komentářů: 1
    Jaký je váš oblíbený skriptovací jazyk?
     (59%)
     (27%)
     (7%)
     (3%)
     (1%)
     (1%)
     (4%)
    Celkem 391 hlasů
     Komentářů: 16, poslední 8.6. 21:05
    Rozcestník

    Dotaz: Přerušení kódu ve funkci setTimeout z jiné funkce - Javascript

    7.8.2015 08:58 Saša
    Přerušení kódu ve funkci setTimeout z jiné funkce - Javascript
    Přečteno: 266×
    Ahoj, mám problém s kódem v javascriptu, respektive s řešením problému

    1. v HTML souboru mám prvky button reagující na onlick="start()", cancas s funkcí reagující na onclick="stop" 2. po spuštění funkce start se volá funkce nahravej, ve které se nahrává obrázek do canvasu a v jeho funkci img.onLoad se spouští funkce setTimeout. Po ukončení funkce setTimeout se vyvolá dialog 3. Při kliknutí na canvas se zavolá funkce stop, která skryje nějaká pole na stránce a odstraní obrázek z canvasu

    Problém Kliknu na canvas, zobrazí se dialog o ukončení, potvrdím ho, provede se změna na html stránce (skytí polí, odstranění img z canvasu) ale vyběhne dialog po doběhnutí funkce setTimeout. Jak upravit kód, aby vyvolání funkce zastavilo i provádení kódu ve funkci setTimeout, respektive zobrazení dialogu?

    Díky za případnou radu

    var start = function () {
        isRuns = true;
        $('#pageMainImgDiv').hide(); 
        nahravej();
        
    };
    
    var stop = function () {
        // vynechan dialog ohledne ukonceni a dalsi akce ohledne manipulace s prvky na html strance
        isRuns = false;
        $('#pageMainImgDiv').show();
    };
    
    
    var nahravej = function () {
        var timing = 5000;
        var newSrc = "mujImage.png";
    
            var img = new Image();
            img.src = 'images/' + newSrc;
            img.onload = function () {
                var canvas = document.getElementById('mainCanvas');
                var context = canvas.getContext('2d');
                context.canvas.width = window.innerWidth;
                context.canvas.height = window.innerHeight;
                var x = (canvas.width - img.width ) * 0.5;
                var y = (canvas.height - img.height) * 0.5;
                img.width = img.width * 0.50;
                img.height = img.height * 0.50;
                context.drawImage(img, x, y);
    
                if (isRuns) {
                    setTimeout(function () {
                        console.log('Probiha timer');
                        context.clearRect(0, 0, canvas.width, canvas.height);
    
                        
    
                            var res = prompt("Vlož čas", "5");
                            if (isNaN(res)) {
    
                                alert('Chyba není číslo!');
    
                            } else {
    
                                console.log('Vlozeno ' + res);
                                nahravej();
                            }
                    }, timing);
                }else {
                    context.clearRect(0, 0, canvas.width, canvas.height);
                }
            };
        }
    
    
    };
    

    Řešení dotazu:


    Odpovědi

    AraxoN avatar 7.8.2015 10:52 AraxoN | skóre: 47 | blog: slon_v_porcelane | Košice
    Rozbalit Rozbalit vše Re: Přerušení kódu ve funkci setTimeout z jiné funkce - Javascript
    Volanie setTimeout() vráti ID časovača:
    var id=window.setTimeout(...);
    S tým id sa to potom dá zrušiť volaním clearTimeout():
    window.clearTimeout(id);
    7.8.2015 11:05 Saša
    Rozbalit Rozbalit vše Re: Přerušení kódu ve funkci setTimeout z jiné funkce - Javascript
    Ahoj, díky, ale to jsem zkoušel, že jsem ve funkci stop volal id setTimeru (ten jsem nastavil ve funkci pro nahravej jako globalni proměnou), bohužel dialog i přesto vyběhl.
    Tarmaq avatar 7.8.2015 16:23 Tarmaq | skóre: 39
    Rozbalit Rozbalit vše Re: Přerušení kódu ve funkci setTimeout z jiné funkce - Javascript
    a mohl bys to ukazat? Idealne bez tech nezajimavejch casti kolem.. Mozna by nebylo od veci udelat nejakej jsfiddle na to
    Don't panic!

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.