Avatar billede no_doubt Nybegynder
16. december 2007 - 20:54 Der er 15 kommentarer og
1 løsning

Lille omskrivning - tror jeg

Dette stk kode virker ikke

<body ... style="background:transparent;" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<script language="javascript" type="text/javascript">
var start = new Date();
window.onload = function(){
  setInterval("update()",1000);
}
function update(){
  var nu = new Date();
  var min = nu.getMinutes() - start.getMinutes();
  min += (nu.getHours() - start.getHours()) * 60;
  var sec = nu.getSeconds() - start.getSeconds();
  if(sec<0){
    sec += 60;
    min -= 1;
  }
  document.getElementById("minSpan").firstChild.nodeValue = twoDigits(min) +":" + twoDigits(sec) + "hshs"
}
function twoDigits(num){
  return num < 10 ? "0" + num : num;
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function musik(onoff)
{
if (onoff == 'on') {
    midi.innerHTML = '<EMBED SRC="Pingu.mp3"  hidden="true" autoplay="true" loop="0">';
} else {
    midi.innerHTML = '';
}
}
window.onload=function(){musik('on')}
//-->
</SCRIPT>
<span id="midi"></span>
<b><u><font face="Arial" size="2">Afspiller - </font></u><font face="Arial" size="2">
<font color="#000000">
<span style="text-decoration: none">
<A HREF="#" onClick="musik('on');">
<font color="#000000">Start</font></a></span><u> </u> </font><u>- </u> <A HREF="#" onClick="musik('off');">
<font color="#000000">Stop</font></a></font><u><font face="Arial" size="2"><br>
</font></u></b><br>
<font face="Arial" size="2">( <span id="minSpan">00:00</span> )</font>
</body>

Det skulle gerne starte tælleren, men det sker ikke, hvad er der galt ?
Avatar billede erikjacobsen Ekspert
16. december 2007 - 21:07 #1
Du har 2 window.onload. Det er jo nok kun den sidste der går i gang ;)
Avatar billede no_doubt Nybegynder
16. december 2007 - 21:44 #2
Kan du evt være behjælpelig med at starte og stoppe scriptet oppe i on og off delen (function, musik)
Avatar billede erikjacobsen Ekspert
16. december 2007 - 21:50 #3
Jeg forstår ikke hvad du spørger om der. Men løsningen på hvad der må være dit problem, er vel bare at nøjes med een tilordning til window.onload. Så i stedet for

window.onload = function(){
  setInterval("update()",1000);
}
window.onload=function(){musik('on')}

så blot

window.onload=function(){setInterval("update()",1000);musik('on')}
Avatar billede no_doubt Nybegynder
16. december 2007 - 22:29 #4
et objekt var ventet skriver den
Avatar billede no_doubt Nybegynder
16. december 2007 - 22:30 #5
Det jeg mente var om man når man trykker på start at den så starter med at tælle og når man trykker på stop at den så stopper med tælleren
Avatar billede no_doubt Nybegynder
16. december 2007 - 22:30 #6
Scriptet ser ud som følger:

<body ... style="background:transparent;" topmargin="0" leftmargin="0" rightmargin="0" bottommargin="0">
<script language="javascript" type="text/javascript">
var start = new Date();
}
function update(){
  var nu = new Date();
  var min = nu.getMinutes() - start.getMinutes();
  min += (nu.getHours() - start.getHours()) * 60;
  var sec = nu.getSeconds() - start.getSeconds();
  if(sec<0){
    sec += 60;
    min -= 1;
  }
  document.getElementById("minSpan").firstChild.nodeValue = twoDigits(min) +":" + twoDigits(sec) + "hshs"
}
function twoDigits(num){
  return num < 10 ? "0" + num : num;
}
</script>
<SCRIPT LANGUAGE="JavaScript">
<!--
function musik(onoff)
{
if (onoff == 'on') {
    midi.innerHTML = '<EMBED SRC="Pingu.mp3"  hidden="true" autoplay="true" loop="0">';
} else {
    midi.innerHTML = '';
}
}
window.onload=function(){setInterval("update()",1000);musik('on')}
//-->
</SCRIPT>
<span id="midi"></span>
<b><u><font face="Arial" size="2">Afspiller - </font></u><font face="Arial" size="2">
<font color="#000000">
<span style="text-decoration: none">
<A HREF="#" onClick="musik('on');">
<font color="#000000">Start</font></a></span><u> </u> </font><u>- </u> <A HREF="#" onClick="musik('off');">
<font color="#000000">Stop</font></a></font><u><font face="Arial" size="2"><br>
</font></u></b><br>
<font face="Arial" size="2">DJ Zarp - Web-mix ( <span id="minSpan">00:00</span> )</font>
</body>
Avatar billede erikjacobsen Ekspert
16. december 2007 - 22:44 #7
Ok, det ku' du jo bare ha' sagt ;) ;)

Jeg har ikke prøvet, men muligvis og måske ændre

function musik(onoff)
{
if (onoff == 'on') {
    midi.innerHTML = '<EMBED SRC="Pingu.mp3"  hidden="true" autoplay="true" loop="0">';
} else {
    midi.innerHTML = '';
}
}
window.onload=function(){setInterval("update()",1000);musik('on')}

til

var qqq;
function musik(onoff)
{
if (onoff == 'on') {
    midi.innerHTML = '<EMBED SRC="Pingu.mp3"  hidden="true" autoplay="true" loop="0">';
    qqq=setInterval("update()",1000);
} else {
    midi.innerHTML = '';
    clearInterval(qqq);
}
}
window.onload=function(){musik('on')}
Avatar billede thesurfer Nybegynder
16. december 2007 - 22:44 #8
Et hurtigt kig afslører at der er placeret "}" et forkert sted, i miderste linie:

var start = new Date();
}
function update(){

Du fik ikke det hele med, da du flyttede dine window.onload sammen til 1x window.onlad..
Avatar billede no_doubt Nybegynder
16. december 2007 - 23:27 #9
Avatar billede no_doubt Nybegynder
16. december 2007 - 23:32 #10
kan man mon teste om en sang er slut
Avatar billede no_doubt Nybegynder
16. december 2007 - 23:35 #11
når man trykker stop og start har den stadig tælleren igang, men den skal jo nulstilles
Avatar billede thesurfer Nybegynder
17. december 2007 - 00:09 #12
Sådan:

var start = null;

og:

if (onoff == 'on') {
    start = new Date();
...osv...
Avatar billede no_doubt Nybegynder
17. december 2007 - 00:10 #13
sangen er 12:32 lang.

Så hvis tælleren når derop skal den stoppe der. Og ikke kører videre.
Avatar billede thesurfer Nybegynder
17. december 2007 - 00:10 #14
.. og jeg ved ikke om man kan teste, om sangen er slut.. :-)
Avatar billede no_doubt Nybegynder
06. januar 2008 - 19:15 #15
takker svar...
Avatar billede thesurfer Nybegynder
06. januar 2008 - 20:10 #16
Svar :-)
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