IT rekvalifikace s garancí práce. Seniorní programátoři vydělávají až 160 000 Kč/měsíc a rekvalifikace je prvním krokem. Zjisti, jak na to!
Hledáme nové posily do ITnetwork týmu. Podívej se na volné pozice a přidej se do nejagilnější firmy na trhu - Více informací.

Diskuze: základní úloha

Aktivity
Avatar
danek1235
Člen
Avatar
danek1235:21.4.2014 15:37

Ahoj všem :) No přejdu rovnou k věci :D učitel nám zadal úlohu a tak jsem jí nějak zpracoval a pak řekl aby jsem tam za alert hlášku změnil pár věcí.. dál popíšu v kódu.. a potřeboval bych v tom poradit .. z C jsme přeskočili docela hopem na javascript a tak se to více méně učím .. chci jen jednoduše poradit co s tím zhruba udělat a kde bych k tomu našel příkazy prosím.
pracuju v Microsoft Visual Studio - webapplication
je to celé stačí zkopčit a uvidíte co to dělá a chci tam tu změnu co jsem k tomu zhruba popsal
doufám, že je to pochopitelné (předem se omlouvám v javascriptu jsem začátečník) prosím o rady a tipy.. vše ocením.. děkuji předem všem moc :)

<!DOCTYPE html>
<html xmlns="http:/­/www.w3.org/1999/xhtml­">
<head>
<title></title>
<script>
var x = 18;
function obsluha(kdoVola) {
//alert("Volající: " + kdoVola + "\nZdroj události: " + window.event.srcE­lement.innerHTML);
var el = document.getE­lementById("cil");
x += 1;
el.style.width = x + "em";

var puvodnihodnota = el.style.width; //?? udelat to aby si zjistil pravou hodnotu width
var novahodnota = 44; // a dát místo alert // el.style.width = x + "em"; + to tu rozsiruje tu sirku po kazdem kliku
// ale chci ted nahradit to tak aby byla pevně stanovená nějaká šířka a ta se vždy zjistila a po následném kliknutí
// aby se zvědšila o 10% takže místo alert se bude zjišťovat skutečná šířka(hodnota) a ta se pak následně zvětšovala o 10%

}
var casovac;
function obsluhaCasovace() {
alert("ahoj");
}

function nastavCasovac() {
casovac = window.setTime­out(obsluhaCa­sovace, document.getE­lementById("in­terval").valu­e);
}
function zastavCasovac() {
window.clearTi­meout(casovac);
}
</script>
</head>
<body>
<br />
<div id="cil" style="background-color:lightste­elblue">
uvnitř DIVu
<span style="background-color:silver;bor­der:1px solid black;padding: 1em;" onclick="obslu­ha('span');">
uvnitř SPANu
</span>
</div><br />
Interval v ms: <input id="interval" type="text" value="1500" /><br /> //tady bude width a to chce aby se vzdy pak misto alert zjistila hodnota a ta hodnata zvetsila o 10%
<input type="button" value="spust casovac" onclick="nastav­Casovac();" /><br />
<input type="button" value="stopni casovac" onclick="zastav­Casovac();" /><br />
</body>
</html>

 
Odpovědět
21.4.2014 15:37
Avatar
Odpovídá na danek1235
Zdeněk Pavlátka:21.4.2014 15:53

Je tu ikonka "vložit zdrojový kód". Je to pak čitelnější ;)

Nahoru Odpovědět
21.4.2014 15:53
Kolik jazyků umíš, tolikrát jsi programátor.
Avatar
danek1235
Člen
Avatar
 
Nahoru Odpovědět
21.4.2014 15:59
Avatar
danek1235
Člen
Avatar
danek1235:21.4.2014 16:03
<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script>
        var x = 19;
        function obsluha(kdoVola) {
            //alert("Volající: " + kdoVola + "\nZdroj události: " + window.event.srcElement.innerHTML);
            var el = document.getElementById("cil");
            x += 1;     // takže zde nastavit 10% ale jak to nevim...
            el.style.width = x + "em";

            var puvodnihodnota = el.style.width;   //?? udelat to aby si zjistil pravou hodnotu width
            var novahodnota = 44;      // a dát místo alert      // el.style.width = x + "em"; + to tu rozsiruje tu sirku po kazdem kliku
            // ale chci ted nahradit to tak aby byla pevně stanovená nějaká šířka a ta se vždy zjistila a po následném kliknutí
            // aby se zvědšila o 10% takže místo alert se bude zjišťovat skutečná šířka(hodnota) a ta se pak následně zvětšovala o 10%
            // možná by stačilo aby to v tom alertu vypsalo jaká je šířka aktuální takže teď 19 a po těch 10% aby zjistila jakou a zas vypsalo v tom alert ...
            //akorát tedy ještě nevím jak udělat to aby to zjistilo tu šířku aktuální ..
        }
        var casovac;
        function obsluhaCasovace() {
            alert("widht je:");
        }

        function nastavCasovac() {
            casovac = window.setTimeout(obsluhaCasovace, document.getElementById("interval").value);
        }
        function zastavCasovac() {
            window.clearTimeout(casovac);
        }
    </script>
</head>
<body>
    <br />
    <div id="cil" style="background-color:lightsteelblue">
        uvnitř DIVu
        <span style="background-color:silver;border:1px solid black;padding: 1em;" onclick="obsluha('span');">
            uvnitř SPANu
        </span>
    </div><br />
    Interval v ms: <input id="interval" type="text" value="1500" /><br />
    <input type="button" value="spust casovac" onclick="nastavCasovac();" /><br />
    <input type="button" value="stopni casovac" onclick="zastavCasovac();" /><br />
</body>
</html>
 
Nahoru Odpovědět
21.4.2014 16:03
Avatar
danek1235
Člen
Avatar
danek1235:21.4.2014 17:02

Teď by se mi šiklo to jak udělat těch 10% ....

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script>
        var x = 20;
        function obsluha(kdoVola) {
            //alert("Volající: " + kdoVola + "\nZdroj události: " + window.event.srcElement.innerHTML);
            var el = document.getElementById("cil");
            x += 1;     // takže zde nastavit 10% ale jak to nevim...
            el.style.width = x + "em";


            // ale chci ted nahradit to tak aby byla pevně stanovená nějaká šířka a ta se vždy zjistila a po následném kliknutí
            // aby se zvědšila o 10% takže místo alert se bude zjišťovat skutečná šířka(hodnota) a ta se pak následně zvětšovala o 10%
            // možná by stačilo aby to v tom alertu vypsalo jaká je šířka aktuální takže teď 19 a po těch 10% aby zjistila jakou a zas vypsalo v tom alert ...
            //akorát tedy ještě nevím jak udělat to aby to zjistilo tu šířku aktuální ..
        }

        var casovac;
        function obsluhaCasovace() {
            //alert("sirka");

           document.write(x);
        }

        function nastavCasovac() {
            casovac = window.setTimeout(obsluhaCasovace, document.getElementById("interval").value);
        }
        function zastavCasovac() {
            window.clearTimeout(casovac);
        }
    </script>
</head>
<body>
    <br />
    <div id="cil" style="background-color:lightsteelblue">
        uvnitř DIVu
        <span style="background-color:silver;border:1px solid black;padding: 1em;" onclick="obsluha('span');">
            uvnitř SPANu
        </span>
    </div><br />
    Interval v ms: <input id="interval" type="text" value="1500" /><br />
    <input type="button" value="spust casovac" onclick="nastavCasovac();" /><br />
    <input type="button" value="stopni casovac" onclick="zastavCasovac();" /><br />
</body>
</html>
 
Nahoru Odpovědět
21.4.2014 17:02
Avatar
danek1235
Člen
Avatar
danek1235:21.4.2014 20:40

No tak hraju si s tím furt na 10% jsem přišel a jak to obrazit apod taky... ale teď chci abych to hodil do nějakého časovače a aby to fungovalo tím stylem že když na to kliknu tak aby to v určitém intervalu fur přičítalo těch 10% dokud bych nedal stop a pak si nevyjel hodnotu...

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script>
        var x = 20;
        var y;
        function obsluha(kdoVola) {
            //alert("Volající: " + kdoVola + "\nZdroj události: " + window.event.srcElement.innerHTML);
            var el = document.getElementById("cil");
            x += 1;

          el.style.width = x + "em"

            var puvodnihodnota = el.style.width;




        }
        var casovac;
        function obsluhaCasovace() {
            alert("ahoj");
        }
        function prictidesetprocent() {
            y = x / 10;
            x += y;
        }
        function zobrazhodnotu() {
            document.write(x)
        }

        function nastavCasovac() {
            casovac = window.setTimeout(obsluhaCasovace, document.getElementById("interval").value);
        }
        function zastavCasovac() {
            window.clearTimeout(casovac);
        }
    </script>
</head>
<body>
    <br />
    <div id="cil" style="background-color:lightsteelblue">
        uvnitř DIVu
        <span style="background-color:silver;border:1px solid black;padding: 1em;" onclick="obsluha('span');">
            uvnitř SPANu
        </span>
    </div><br />
    Interval v ms: <input id="interval" type="text" value="1500" /><br />
    <input type="button" value="spust casovac" onclick="nastavCasovac();" /><br />
    <input type="button" value="stopni casovac" onclick="zastavCasovac();" /><br />
    <input type="button" value="+ 10%" onclick="prictidesetprocent();" /><br />
    <input type="button" value="casovac" onclick="prictidesetprocent();" /><br />
    <input type="button" value="zobraz hodnotu" onclick="zobrazhodnotu();" /><br />
</body>
</html>
 
Nahoru Odpovědět
21.4.2014 20:40
Avatar
danek1235
Člen
Avatar
danek1235:21.4.2014 21:40

No tak teď už jen zastavit to casování :D a chci aby to vypsalo tu hodnotu do stejného okna a ne do noveho .. pls kdo poradí ? :)

<!DOCTYPE html>
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script>
        var x = 20;
        var y = 0;
        function obsluha(kdoVola) {
            //alert("Volající: " + kdoVola + "\nZdroj události: " + window.event.srcElement.innerHTML);
            var el = document.getElementById("cil");
            y = x / 10;
            x += y;

            el.style.width = x + "em";
        }


        function automatika() {
            var el = document.getElementById("cil");
            y = x / 10;
            x += y;

            el.style.width = x + "em";

        }

        function Casovac() {
            setInterval("automatika()", 1 * 1 * 1000);
        }
            function zastavCasovac() {
                window.clearInterval(clearInterval)  // tohle zatím nefunguje musím doladit stopnutí
        }

        function zobrazhodnotu() {
            //document.write(x)
            document.getElementById('x')
        }
    </script>
</head>
<body>
    <br />
    <div id="cil" style="background-color:lightsteelblue">
        uvnitř DIVu
        <span style="background-color:silver;border:1px solid black;padding: 1em;" onclick="obsluha('span');">
            uvnitř SPANu
        </span>
    </div><br />

    <input type="button" value="zobraz hodnotu" onclick="zobrazhodnotu();" /><br />
    <input type="button" value="casovac" onclick="Casovac();" /><br />
    <input type="button" value="stopni casovac" onclick="zastavCasovac();" /><br />
    <input type="button" value="Zrušit časování" onclick=" clearInterval()" /><br />
</body>
</html>
 
Nahoru Odpovědět
21.4.2014 21:40
Avatar
KleoCZ
Člen
Avatar
Odpovídá na danek1235
KleoCZ:22.4.2014 21:32

Makej prťka makej !!! Ty to dáš, ještě pár postů a píšeš finální výsledek!
Já ti věřím :)

PS: Aneb: "Udělej si(e) sám :) ... pobavils

Nahoru Odpovědět
22.4.2014 21:32
Apeluji na všechny co odpovídají na dotazy, tak pokud je to jen trochu možné dávejte rovnou reálná řešení třeba v htt...
Avatar
danek1235
Člen
Avatar
Odpovídá na KleoCZ
danek1235:24.4.2014 11:07

jn udělal jsem to :D :D akorát teď mi napsal učitel tohle a to tedy nevim :D jako on na mne mluví snad cizím jazykem kolikrát :D

Úkolem bylo načíst aktuální polohu prvku jako řetězec, rozložit na číslo a jednotku – proto jsem upozorňoval na řetězcové funkce ve třídě string – a pak posunutou hodnotu zase složit, tj. řešení bez globálních proměnných x a y.

úkolem bylo číst s danou periodou aktuální šířku prvku, která je ve formátu číslo + jednotka, a o 10 % jí navýšit / ponížit? Takže například z 10em uděláš 11em, resp. ze 150px uděláš 165px.
Lépe to zadat bohužel neumím.

možná jsem tatar já . jsem ale žák ne učitel ani nějaký programátor ... prosím ten kdo to chápe můžete mi to nějak lajcky vysvětlit abych věděl co dělat a popřípadě trochu poradit ?

 
Nahoru Odpovědět
24.4.2014 11:07
Děláme co je v našich silách, aby byly zdejší diskuze co nejkvalitnější. Proto do nich také mohou přispívat pouze registrovaní členové. Pro zapojení do diskuze se přihlas. Pokud ještě nemáš účet, zaregistruj se, je to zdarma.

Zobrazeno 9 zpráv z 9.