Autor Zpráva
JAVAMEN
Profil *
Dobrý den, potřeboval bych upravit následující JS kod aby až se odpočítá čas tak aby se provedl refresh na určitou stránku nebo se vypsal text. Děkuji všem za snahu

Sám jsem to zkoušel -> bez výsledku
Posílal jsem do zive.cz poradny ale tam si s tím bohužel také nevěděli rady.

$kk_policko=date("F d, Y, H:i") ;
<script type="text/javascript"> 
var timerID = null; 
var timerRunning = false; 
function showtime() { 
today = new Date(); 
Prodej = new Date("<?php echo $kk_policko; ?>") 
msPerDay = 24 * 60 * 60 * 1000 ; 
timeLeft = (Prodej.getTime() - today.getTime()); 
e_daysLeft = timeLeft / msPerDay; 
daysLeft = Math.floor(e_daysLeft); 
e_daysLeft = timeLeft / msPerDay; 
daysLeft = Math.floor(e_daysLeft); 
e_hrsLeft = (e_daysLeft - daysLeft)*24; 
hrsLeft = Math.floor(e_hrsLeft); 
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60); 
hrsLeft = hrsLeft; 
e_minsLeft = (e_hrsLeft - hrsLeft)*60; 
secLeft = Math.floor(e_hrsLeft); 
secLeft = Math.floor((e_minsLeft - minsLeft)*60); 
secLeft = secLeft; 
Temp3='Zbývá  '+hrsLeft+' hodin, '+minsLeft+' minut, '+secLeft+' sekund.' 
document.getElementById('vysledek').innerHTML = Temp3; 
timerID = setTimeout("showtime()",1000); 
timerRunning = true; 
} 
var timerID = null; 
var timerRunning = false; 
function stopclock () { 
if(timerRunning) 
clearTimeout(timerID); 
timerRunning = false; 
} 
function stopClock() { 
stopclock(); 
return; 
} 
function startclock () { 
stopclock(); 
showtime(); 
} 
</script>

Moderátor Alphard: Vkládej prosím kódy mezi značky [pre] a [/pre] (stačí kliknout na ).
Aichi
Profil
na řádku 21 a 22 vypisujes počet hodin, minut a sekund do data. takže, stačí řádkky 21 až 24 dát do podmínky

if (hrsLeft > 0 && minsLeft > 0 && secLeft > 0)


a vytvořit else větvi, ve které bude

document.location.href='http://novastranka'
JAVAMEN
Profil *
Upravil jsem kod ale bohužel je výsledek stále stejný! (Jako kdyby tam podmínka nebyla).
Ono to asi nebude hračka! Prosím před zasláním odzkoušet zdali opravdu změna pomůže... snažili se o to již asi 4lidé a ani jeden zatím neupravil kod tak aby skript fungoval. Pokud by jste měli někdo lepší JS kod tak mi ho prosím zašlete. Děkuji


<script type="text/javascript"> 
var timerID = null; 
var timerRunning = false; 
function showtime() { 
today = new Date(); 
Prodej = new Date("<?php echo $kk_policko; ?>") 
msPerDay = 24 * 60 * 60 * 1000 ; 
timeLeft = (Prodej.getTime() - today.getTime()); 
e_daysLeft = timeLeft / msPerDay; 
daysLeft = Math.floor(e_daysLeft); 
e_daysLeft = timeLeft / msPerDay; 
daysLeft = Math.floor(e_daysLeft); 
e_hrsLeft = (e_daysLeft - daysLeft)*24; 
hrsLeft = Math.floor(e_hrsLeft); 
minsLeft = Math.floor((e_hrsLeft - hrsLeft)*60); 
hrsLeft = hrsLeft; 
e_minsLeft = (e_hrsLeft - hrsLeft)*60; 
secLeft = Math.floor(e_hrsLeft); 
secLeft = Math.floor((e_minsLeft - minsLeft)*60); 
secLeft = secLeft; 

if (hrsLeft > 0 && minsLeft > 0 && secLeft > 0)
Temp3='Zbývá  '+hrsLeft+' hodin, '+minsLeft+' minut, '+secLeft+' sekund.' 
document.getElementById('vysledek').innerHTML = Temp3; 
else   document.location.href='http://novastranka';

timerID = setTimeout("showtime()",1000); 
timerRunning = true; 
} 
var timerID = null; 
var timerRunning = false; 
function stopclock () { 
if(timerRunning) 
clearTimeout(timerID); 
timerRunning = false; 
} 
function stopClock() { 
stopclock(); 
return; 
} 
function startclock () { 
stopclock(); 
showtime(); 
} 
</script> 
Aichi
Profil
těžko to někdo bude zkoušet, když je to mix PHP a JS :)


btw: syntax error vám to nehlásí?
Bubák
Profil
JAVAMEN:
Samotný odpočet ti funguje? Já se v PHP skoro vůbec nevyznám, takře jsem nepochopil význam tohoto jednořádkového kódu:
$kk_policko=date("F d, Y, H:i") ;

Pak se s ním něco dělá na šestém řádku, netuším, zda je to správně.

Pokud poběží odpočet, pak dokážu poradit, ale stejně bych poradil něco podobného, co Aichi.

Pokud by jste měli někdo lepší JS kod tak mi ho prosím zašlete
Snaž se sám, hledej, první klíčové slovo bude javascript
Jako druhé klíčové slovo zkus postupně odpočet, odpočítávání, countdown...
Keeehi
Profil
Bubák:
$kk_policko=date("F d, Y, H:i") ;
do proměnné $kk_policko se uloží toto: "July 21, 2010, 20:40" (s časem se to mění :) )
poté se tento obsah vloží na tomto místě <?php echo $kk_policko; ?>
Bubák
Profil
Keeehi:
Díky za info, ale nemůžu si pomoct, nevím proč, ale funkce showtime vůbec neběží.

Funkční skripty jsou třeba tady:
www.kosata50.unas.cz/html/odpocet.html
www.panickov.esitex.com/clanky/lamalamam/script-pro-odpocet-casu.html

Pak jen zbývá přidat akci, pokud čas již uplynul, princip je jednoduchý, viz [#2] Aichi.
JAVAMEN
Profil *
Díky všem ale dozvěděl jsem se že toto nebudu moci použít (budu potřebovat více odpočtů na stránce). Zkusil jsem proto jiný skript:
I když u jiného odpočtu nastavím místo "zeleznydul" třeba "piskovna" tak stejně funguje pouze jeden odpočet. Nevíte kde dělám chybu? Dík

Železný důl: <span id="zeleznydul"></span> 
<script type="text/javascript"> 
      <!--
      var cil = 1279777946;
      var hlaska = "Dostaven";
      function prvek(jmeno) {
        var obj=0;
        
        // getElementByID - ne-IE prohlizece a nove verze IE
        if(document.getElementById){
          obj = document.getElementById(jmeno);
        }
        // document.all - stare verze IE
        else if (document.all){
          obj = document.all[jmeno];
        }
        return obj;
      }
      var el = prvek("zeleznydul");
 
      function zeleznydul(){
        var dt = new Date();
        var ted = dt.getTime() / 1000;
        var diff = cil - ted;
        if(diff <= 0){
          el.innerHTML = hlaska;
          return(0);
        }
        var tmp = diff;
        var d = Math.floor(tmp / 86400);
        tmp = tmp % 86400;
        var h = Math.floor(tmp / 3600);
        tmp = tmp % 3600;
        var m = Math.floor(tmp / 60);
        tmp = tmp % 60;
        var s = Math.floor(tmp);
        casStr = "";
        if(d > 4) casStr = casStr + d + " dní, ";
        else if(d > 1) casStr = casStr + d + " dny, ";
        else if(d > 0) casStr = casStr + d + " den, ";
        if(h < 10) casStr += "0";
        casStr = casStr + h + ":";
        if(m < 10) casStr += "0";
        casStr = casStr + m + ":";
        if(s < 10) casStr += "0";
        casStr = casStr + "" + s;  
        el.innerHTML = casStr;
        setTimeout("zeleznydul()",995); 
      }
      
      if(el){
        setTimeout("zeleznydul()",1000);
      }
    
      -->
    </script> 
_es
Profil
JAVAMEN:
Môžeš si trochu upraviť napríklad toto.

Vaše odpověď

Mohlo by se hodit

Neumíte-li správně určit příčinu chyby, vkládejte odkazy na živé ukázky.
Užíváte-li nějakou cizí knihovnu, ukažte odpovídajícím, kde jste ji vzali.

Užitečné odkazy:

Odkud se sem odkazuje


Prosím používejte diakritiku a interpunkci.

Ochrana proti spamu. Napište prosím číslo dvě-sta čtyřicet-sedm:

0