Avatar billede jammerlab Nybegynder
15. juni 2007 - 16:13 Der er 10 kommentarer og
1 løsning

Nedtælling af sekunder

Har brug for det meget simpelt script der tæller x antal sekunder ned til 0 og stopper der... jeg skal kunne placere visningen af nedtællingen hvor jeg ønsker det på siden.. nogen der kan bruge 2 sek på den? :P
Avatar billede roenving Novice
15. juni 2007 - 16:23 #1
Skal du noget bestemt, når tiden er gået ?-)

-- men f.eks. sådan:

<script type="text/javascript">

var tid = 45;//antal sekunder

window.onload = function(){
  taelNed();
  setTimeout("taelNed()",1000);
}

function taelNed(){
  tid--;
  document.getElementById("minTid").firstChild.nodeValue = tid;
  if(tid>0)
    setTimeout("taelNed()",1000);
/*
  else noget andet
*/
}
</script>

Antal sekunder tilbage: <span id="minTid">&nbsp;</span> s.

-- skrevet direkte ind her !-)
Avatar billede jammerlab Nybegynder
15. juni 2007 - 16:25 #2
Niks den skal bare vise 0 :)
Avatar billede jammerlab Nybegynder
15. juni 2007 - 16:27 #3
Bah... det ser ikke ud til at den kan arbejde sammen med det andet JS som kører... det var den loading bar jeg har fundet er script til... jeg har bare behov for at vise antal sekunder eller x % tilbage...


var loadedcolor='darkgray' ;      // PROGRESS BAR COLOR
var unloadedcolor='lightgrey';    // COLOR OF UNLOADED AREA
var bordercolor='#000000';            // COLOR OF THE BORDER
var barheight=15;                  // HEIGHT OF PROGRESS BAR IN PIXELS
var barwidth=300;                  // WIDTH OF THE BAR IN PIXELS
var waitTime=5;                  // NUMBER OF SECONDS FOR PROGRESSBAR

var action=function()
{
window.location="";
}

var ns4=(document.layers)?true:false;
var ie4=(document.all)?true:false;
var blocksize=(barwidth-2)/waitTime/10;
var loaded=0;
var PBouter;
var PBdone;
var PBbckgnd;
var Pid=0;
var txt='';
if(ns4){
txt+='<table border=0 cellpadding=0 cellspacing=0><tr><td>';
txt+='<ilayer name="PBouter" visibility="hide" height="'+barheight+'" width="'+barwidth+'" onmouseup="hidebar()">';
txt+='<layer width="'+barwidth+'" height="'+barheight+'" bgcolor="'+bordercolor+'" top="0" left="0"></layer>';
txt+='<layer width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+unloadedcolor+'" top="1" left="1"></layer>';
txt+='<layer name="PBdone" width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+loadedcolor+'" top="1" left="1"></layer>';
txt+='</ilayer>';
txt+='</td></tr></table>';
}else{
txt+='<div id="PBouter" onmouseup="hidebar()" style="position:relative; visibility:hidden; background-color:'+bordercolor+'; width:'+barwidth+'px; height:'+barheight+'px;">';
txt+='<div style="position:absolute; top:1px; left:1px; width:'+(barwidth-2)+'px; height:'+(barheight-2)+'px; background-color:'+unloadedcolor+'; font-size:1px;"></div>';
txt+='<div id="PBdone" style="position:absolute; top:1px; left:1px; width:0px; height:'+(barheight-2)+'px; background-color:'+loadedcolor+'; font-size:1px;"></div>';
txt+='</div>';
}

document.write(txt);

function incrCount(){
window.status="Loading...";
loaded++;
if(loaded<0)loaded=0;
if(loaded>=waitTime*10){
clearInterval(Pid);
loaded=waitTime*10;
setTimeout('hidebar()',100);
}
resizeEl(PBdone, 0, blocksize*loaded, barheight-2, 0);
}

function hidebar(){
clearInterval(Pid);
window.status='';
//if(ns4)PBouter.visibility="hide";
//else PBouter.style.visibility="hidden";
action();
}

function findlayer(name,doc){
var i,layer;
for(i=0;i<doc.layers.length;i++){
layer=doc.layers[i];
if(layer.name==name)return layer;
if(layer.document.layers.length>0)
if((layer=findlayer(name,layer.document))!=null)
return layer;
}
return null;
}

function progressBarInit(){
PBouter=(ns4)?findlayer('PBouter',document):(ie4)?document.all['PBouter']:document.getElementById('PBouter');
PBdone=(ns4)?PBouter.document.layers['PBdone']:(ie4)?document.all['PBdone']:document.getElementById('PBdone');
resizeEl(PBdone,0,0,barheight-2,0);
if(ns4)PBouter.visibility="show";
else PBouter.style.visibility="visible";
Pid=setInterval('incrCount()',95);
}

function resizeEl(id,t,r,b,l){
if(ns4){
id.clip.left=l;
id.clip.top=t;
id.clip.right=r;
id.clip.bottom=b;
}else id.style.width=r+'px';
}

window.onload=progressBarInit;
Avatar billede roenving Novice
15. juni 2007 - 16:29 #4
I stedet for sidste linje:

var tid = 45;//antal sekunder

window.onload = function(){
  progressBarInit();
  taelNed();
  setTimeout("taelNed()",1000);
}

function taelNed(){
  tid--;
  document.getElementById("minTid").firstChild.nodeValue = tid;
  if(tid>0)
    setTimeout("taelNed()",1000);
}
Avatar billede jammerlab Nybegynder
15. juni 2007 - 16:34 #5
Okay de vises nu ordentligt men dit script tæller ned med 2 sekunder af gangen ??

var loadedcolor='darkgray' ;      // PROGRESS BAR COLOR
var unloadedcolor='lightgrey';    // COLOR OF UNLOADED AREA
var bordercolor='#000000';            // COLOR OF THE BORDER
var barheight=15;                  // HEIGHT OF PROGRESS BAR IN PIXELS
var barwidth=300;                  // WIDTH OF THE BAR IN PIXELS
var waitTime=5;                  // NUMBER OF SECONDS FOR PROGRESSBAR

var action=function()
{
window.location="";
}

var ns4=(document.layers)?true:false;
var ie4=(document.all)?true:false;
var blocksize=(barwidth-2)/waitTime/10;
var loaded=0;
var PBouter;
var PBdone;
var PBbckgnd;
var Pid=0;
var txt='';
if(ns4){
txt+='<table border=0 cellpadding=0 cellspacing=0><tr><td>';
txt+='<ilayer name="PBouter" visibility="hide" height="'+barheight+'" width="'+barwidth+'" onmouseup="hidebar()">';
txt+='<layer width="'+barwidth+'" height="'+barheight+'" bgcolor="'+bordercolor+'" top="0" left="0"></layer>';
txt+='<layer width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+unloadedcolor+'" top="1" left="1"></layer>';
txt+='<layer name="PBdone" width="'+(barwidth-2)+'" height="'+(barheight-2)+'" bgcolor="'+loadedcolor+'" top="1" left="1"></layer>';
txt+='</ilayer>';
txt+='</td></tr></table>';
}else{
txt+='<div id="PBouter" onmouseup="hidebar()" style="position:relative; visibility:hidden; background-color:'+bordercolor+'; width:'+barwidth+'px; height:'+barheight+'px;">';
txt+='<div style="position:absolute; top:1px; left:1px; width:'+(barwidth-2)+'px; height:'+(barheight-2)+'px; background-color:'+unloadedcolor+'; font-size:1px;"></div>';
txt+='<div id="PBdone" style="position:absolute; top:1px; left:1px; width:0px; height:'+(barheight-2)+'px; background-color:'+loadedcolor+'; font-size:1px;"></div>';
txt+='</div>';
}

document.write(txt);

function incrCount(){
window.status="Loading...";
loaded++;
if(loaded<0)loaded=0;
if(loaded>=waitTime*10){
clearInterval(Pid);
loaded=waitTime*10;
setTimeout('hidebar()',100);
}
resizeEl(PBdone, 0, blocksize*loaded, barheight-2, 0);
}

function hidebar(){
clearInterval(Pid);
window.status='';
//if(ns4)PBouter.visibility="hide";
//else PBouter.style.visibility="hidden";
action();
}

function findlayer(name,doc){
var i,layer;
for(i=0;i<doc.layers.length;i++){
layer=doc.layers[i];
if(layer.name==name)return layer;
if(layer.document.layers.length>0)
if((layer=findlayer(name,layer.document))!=null)
return layer;
}
return null;
}

function progressBarInit(){
PBouter=(ns4)?findlayer('PBouter',document):(ie4)?document.all['PBouter']:document.getElementById('PBouter');
PBdone=(ns4)?PBouter.document.layers['PBdone']:(ie4)?document.all['PBdone']:document.getElementById('PBdone');
resizeEl(PBdone,0,0,barheight-2,0);
if(ns4)PBouter.visibility="show";
else PBouter.style.visibility="visible";
Pid=setInterval('incrCount()',95);
}

function resizeEl(id,t,r,b,l){
if(ns4){
id.clip.left=l;
id.clip.top=t;
id.clip.right=r;
id.clip.bottom=b;
}else id.style.width=r+'px';
}

var tid = 5;//antal sekunder

window.onload = function(){
  progressBarInit();
  taelNed();
  setTimeout("taelNed()",1000);
}

function taelNed(){
  tid--;
  document.getElementById("minTid").firstChild.nodeValue = tid;
  if(tid>0)
    setTimeout("taelNed()",1000);
}
Avatar billede roenving Novice
15. juni 2007 - 16:48 #6
Gaab, der kaldes jo dobbelt, så funktionen kører to gange stort set synkront, så man ikke kan se det, fjern en linje:

window.onload = function(){
  progressBarInit();
  taelNed();
}
Avatar billede jammerlab Nybegynder
15. juni 2007 - 17:09 #7
Jep så ser det ud til at virke helt fint :) Takker Roenving, og smit et svar ;)
Avatar billede roenving Novice
15. juni 2007 - 17:13 #8
Velbekomme '-)
Avatar billede roenving Novice
15. juni 2007 - 17:20 #9
-- og tak for point ;~}
Avatar billede thesurfer Nybegynder
15. juni 2007 - 19:05 #10
roenving>
Hmm.. ".firstChild.nodeValue" ser ud til at svare til ".innerText"..

Er der noget der svare til ".innerHTML"..? :-)
Avatar billede roenving Novice
17. juni 2007 - 01:31 #11
Nej, selvfølgelig ikke, da det jo helt selvfølgeligt ikke passer ind i en DOM-node-baseret virkelighed, hvis man bare opretter et hierarki af noder med tekst inde i andre noder ...

-- ligesom et skibsværft ikke kan få et skib til at sejle ved at placere et billede af dieselmotoren eller en tekst, der hedder 'maskinen' eller f.eks. 'B&W 2032', i maskinrummet, de er selvfølgelig nødt til at have alle de tusindvis af enkeltdele, som er motoren, selv om de måske køber den færdig af nogle andre !-)
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Vi tilbyder markedets bedste kurser inden for webudvikling

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester