Diskuze: základní úloha
V předchozím kvízu, Online test znalostí JavaScript, jsme si ověřili nabyté zkušenosti z kurzu.
Zdeněk Pavlátka:21.4.2014 15:53
Je tu ikonka "vložit zdrojový kód". Je to pak čitelnější
<!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>
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>
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>
No tak teď už jen zastavit to casování 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>
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
danek1235:24.4.2014 11:07
jn udělal jsem to akorát teď mi napsal učitel tohle a to tedy nevim jako on na mne mluví snad cizím jazykem kolikrát
Ú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 ?
Zobrazeno 9 zpráv z 9.