Wątek zablokowany 2014-10-17 08:29 przez dzek69.

Zmodyfikować tak, żeby można było stosowac pause

0

Uczę się javascriptu więc mam do was prośbę mam kod skryptu, czy nie mogli byście mnie naprowadzić tak, w jakich linijkach kodu trzeba pogrzebać, żeby osiągnąć zamierzony cel.

<script language="javascript">
/*window.onbeforeunload = function() {
  if (czystart) {
  return "";
  }

}*/
var czystart = false;
var potem;
var teraz;
var minuty;
var napoczatku;
var petla;




function odliczaj() {
document.getElementById("odliczanie_box").style["visibility"] = "visible";
czystart = true;
minuty = document.getElementById("minuty").value;
teraz = new Date();
potem = new Date(teraz.getTime() + minuty * 60000);
napoczatku = potem - teraz;
document.getElementById("pasek").max = napoczatku;
petla = setInterval(function() {odejmowanie() }, 3);

}

function odejmowanie() {
var min;
var sec;
teraz = new Date();
min = ~~((potem - teraz) / 60000);
sec = ~~(((potem - teraz) - (min* 60000)) / 1000);
  if ( (potem - teraz) <= 0) {
  document.getElementById("pasek").value = document.getElementById("pasek").max;
  clearInterval(petla);
  czystart = false;
  }
  
  
document.getElementById("pasek").value = napoczatku - (potem - teraz);
document.getElementById("pozostalo").innerHTML = "pozostało " + min + ":" + sec;
}

</script>

Odliczaj <input type=number value=1 id=minuty>
minut <br><br>

<input type=button value=odliczaj onclick="odliczaj()">
<input type=button value=stop onclick="czy_start=false; clearInterval(petla)">

<br>
<h1 id=pozostalo> pozostalo</h1>
<div id="odliczanie_box" style="border: 2px solid black; width: 180px; visibility: hidden;">
<progress value=0 max=100 id=pasek></progress>
</div>

Chodzi o to, że po na ciśnięciu przycisku odliczaj odlicza co sekundę aż do zera i jak w tym momencie się wciśnie stop to zatrzumuje i jak się znowu wciśnie odliczaj to zlicza od nowa, a ja chce tak, żeby jak się wcisnie stop, a potem odliczaj to, żeby stop to była pauza i żeby liczył od momentu wciśnięcia stop.

0

wcięcia?
kod js paskudny, kod html również paskudny. nie buduje się domu na bagnie, tylko się ogarnia fundamenty. u Ciebie fundamenty (podstawy) są kiepskie, a bierzesz się za budowanie czegoś, co ma działać (więc skończysz z niedorobionym produktem).
anyway, bodajże coś takiego:

// zamiast tego:
potem = new Date(teraz.getTime() + minuty * 60000);
// daj to:
if (!potem) {
    potem = new Date(teraz.getTime() + minuty * 60000);
}

nie sprawdzane, nie chce mi się tego aż tak analizować

0

Po pierwsze to ja tego kodu nie pisałem.

Ale to twoje działa.

0

Wiem, że go nie pisałeś, co tym bardziej przeczy Twojemu "uczę się javascriptu" ;)

0
dzek69 napisał(a):

wcięcia?
kod js paskudny, kod html również paskudny. nie buduje się domu na bagnie, tylko się ogarnia fundamenty. u Ciebie fundamenty (podstawy) są kiepskie, a bierzesz się za budowanie czegoś, co ma działać (więc skończysz z niedorobionym produktem).
anyway, bodajże coś takiego:

// zamiast tego:
potem = new Date(teraz.getTime() + minuty * 60000);
// daj to:
if (!potem) {
    potem = new Date(teraz.getTime() + minuty * 60000);
}

nie sprawdzane, nie chce mi się tego aż tak analizować

Ale co ty masz do tego kodu. Chodzi mi o cały kod.

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