Avatar billede hansi06 Nybegynder
03. november 2006 - 17:55 Der er 13 kommentarer

Hent (også)lyd via if..else javascript

Jeg blev den lykkelige ejer af et "Fødselsdags-javascript"
- for at gøre den komplet, ville jeg udover den daglige "midi-melodi" gerne have eks: "congratulations.mid"/mp3/wav på fødselsdagen.
-Jeg har forsøgt, men det er ikke lykkedes mig :-(
- Kan du hjælpe?

Her er scriptet:

<script type="text/javascript">
var day = new Date()
var hr  = day.getHours()
var Dag = day.getDate()
var Md  = day.getMonth()

var Navn = "ingen";
var pic = "din_sti_til/billede_ingen.jpg";

if(Dag==24 && Md==11){
  Navn="Jens";
  pic = "din_sti_til/billede_jens.jpg"
}
else if(Dag==21 && Md==0){
  Navn="Jørgen";
  pic = "din_sti_til/billede_jorgen.jpg";
}
var thepic = "<img src=" + pic + "><br>";
document.write( thepic + "I dag er det "+ Navn +"´s fødselsdag")
</script>

/psc
Avatar billede psykochicken Nybegynder
03. november 2006 - 22:20 #1
...er ikke nogen musikhaj, men prøv noget i stil med:

<div id="afspiller" style="position:absolute;top:-100px;">&nbsp;</div>
<script type="text/javascript" src="din_sti_til/afspil.js"></script>

og filen afspil.js:
<!--start-->
function spil(newURL){
var indhold = "<object id='lyd' type='application/x-mplayer2' width='300' height='45' data='" + newURL + "'>";
  indhold += "<param name='src' value='" + newURL + "'>";
  indhold += "<param name='filename' value='" + newURL + "'>";
  indhold += "<param name='type' value='application/x-mplayer2'>";
  indhold += "<param name='autostart' value='1'>";
  indhold += "<param name='playcount' value='999'>"; //antal gentagelser
  indhold += "</object>";
  document.getElementById("afspiller").innerHTML=indhold;
}

var day = new Date();
var hr  = day.getHours();
var Dag = day.getDate();
var Md  = day.getMonth();

var Navn = "ingen";
var pic = "din_sti_til/billede_ingen.jpg";
var musik = 'http://dit_domæne.dk/din_sti_til/hverdags.mp3';
var birthday = 'http://dit_domæne.dk/din_sti_til/congratulations.mp3';

if(Dag==24 && Md==11){
  Navn = "Jens";
  pic = "din_sti_til/billede_jens.jpg";
  musik = birthday;
}
else if(Dag==21 && Md==0){
  Navn = "Jørgen";
  pic = "din_sti_til/billede_jorgen.jpg";
  musik = birthday;
}

var thepic = "<img src=" + pic + "><br>";
document.write( thepic + "I dag er det "+ Navn +"´s fødselsdag");
spil(musik);
<!--slut-->

Afprøvet i IE og Firefox.

/psc
Avatar billede hansi06 Nybegynder
03. november 2006 - 22:39 #2
Tak skal du ellers ha' - du har vist været på overarbejde?
jeg glæder mig til at afprøve det -  skal det være mp3?
Avatar billede psykochicken Nybegynder
03. november 2006 - 22:49 #3
nej - andre filtyper duer også ;o)

/psc
Avatar billede hansi06 Nybegynder
03. november 2006 - 22:59 #4
- Det lykkes ikke helt for mig, siden bliver "oversået med tekst" men jeg har også blot erstattet det gamle script???
Kunne det evt lade sig gøre, blot at bruge hjemmesidens "baggrundsmusik" så man kunne "undgå" afspilleren - eller er det for dumt?
// -->
</script>
<bgsound src="http://tvedmolle.dk/congratulations.mid" loop="-1">
</head>
Avatar billede hansi06 Nybegynder
04. november 2006 - 21:20 #5
- Jeg må nok opgive - fint med afspilleren, jeg kan selvfælgelig lave den mindre.
- men der må mangle nogle parametre, som du måske går ud fra jeg kender i forvejen,
for der dukker hele tiden en fejl op - men jeg har altså ikke forstand på det ( jeg kan finde ud af at kopiere og sætte ind - jeg ved bare ikke hvor:-(
Jeg kan ikke få koderne ind i "kasserne" Afspiller"billedet" står sammen med alle koderne på layoutet. Er jeg opgivet?
Avatar billede psykochicken Nybegynder
04. november 2006 - 23:20 #6
nej da - vis hvad du har lavet, så "mokker" vi det lige på plads ;o)

/psc
Avatar billede psykochicken Nybegynder
05. november 2006 - 00:13 #7
du får lige 2 muligheder her. Det kan godt laves med bgsound, men det vil så kun virke i IE:

<script>
var day = new Date();
var hr  = day.getHours();
var Dag = day.getDate();
var Md  = day.getMonth();
var Navn = "ingen";
var pic = "din_sti_til/billede_ingen.jpg"; //standard-billedet
var sang = "http://tvedmolle.dk/hverdag.mid"; //standard-musikken
var birthday = "http://tvedmolle.dk/congratulations.mid"; //fødselsdags-musikken

if(Dag==24 && Md==11){
  Navn = "Jens";
  pic = "din_sti_til/billede_jens.jpg";
  sang = birthday;
}
else if(Dag==21 && Md==0){
  Navn = "Jørgen";
  pic = "din_sti_til/billede_jorgen.jpg";
  sang = birthday;
}

var thepic = "<img src=" + pic + "><br>";
document.write( thepic + "I dag er det "+ Navn +"´s fødselsdag");
document.write("<bgsound src='" + sang + "' loop='-1'>");
</script>

--------------------------------------------------
Hvis det skal virke i andre browsere, så brug:
<script type="text/javascript">
var day = new Date()
var hr  = day.getHours()
var Dag = day.getDate()
var Md  = day.getMonth()
var Navn = "ingen";
var pic = "din_sti_til/billede_ingen.jpg"; //standard-billedet
var sang = "http://tvedmolle.dk/hverdag.mid"; ; //standard-musikken
var birthday = "http://tvedmolle.dk/congratulations.mid";  //fødselsdags-musikken

if(Dag==24 && Md==11){
  Navn = "Jens";
  pic = "din_sti_til/billede_jens.jpg";
  sang = birthday;
}
else if(Dag==21 && Md==0){
  Navn = "Jørgen";
  pic = "din_sti_til/billede_jorgen.jpg";
  sang = birthday;
}

var thepic = "<img src=" + pic + "><br>";
document.write( thepic + "I dag er det "+ Navn +"´s fødselsdag");

var indhold = "<object type='application/x-mplayer2' width='300' height='45' style='position:absolute;top:-999px;'>";
  indhold += "<param name='filename' value='" + sang + "'>";
  indhold += "<param name='type' value='application/x-mplayer2'>";
  indhold += "<param name='playcount' value='999'>"; //antal gentagelser
  indhold += "</object>";
document.write(indhold);
</script>

---------------------------------------------------
begge scripts kan placeres i head-sektionen og ingen af dem giver en synlig afspiller.

/psc
Avatar billede hansi06 Nybegynder
05. november 2006 - 10:00 #8
Jamen det virker jo fortræffeligt.  Jeg har kun afprøvet "to'eren" og kun i Publisher, som er hvad vi har her på arbejde - men så virker det sikkert også hjemme i Frontpage.
Både mp3, midi, hverdag samt fødselsdags pic. Jeg tror det var "div id" samt "din sti til afspiller" i det første script der forvirrede mig. Tusind tak, jeg ved ikke om det fungerer med pointene - det gjorde det ikke sidst
Avatar billede hansi06 Nybegynder
05. november 2006 - 18:48 #9
- hvis du får en stille stund engang, kan jeg se, at man kan udvide med et "else"
altså to variationer.....
- hvormange gange kan man gøre det? flere eller bliver det ved det? hvordan?
- nu må jeg vist til at stoppe(-:
Avatar billede psykochicken Nybegynder
05. november 2006 - 21:25 #10
Det værste, der kan ske ved at stille spørgsmål er man risikerer at få et svar ;o)

Du kan tilføje
----------------------------------
else if(Dag==0 && Md==0){
  Navn = "Navn";
  pic = "din_sti_til/billede_mosterkaren.jpg";
  sang = birthday;
}
----------------------------------
lige så mange gange du vil ;o)

Point gives ved at jeg lægger et svar. Så vil der fremkomme en markering med mit brugernavn, som du markerer og accepterer svaret.

/psc
Avatar billede hansi06 Nybegynder
05. november 2006 - 22:14 #11
Tak for svaret, jo jeg har ca 60 stks mere som skal lægges på-
Spørgsmålet gik mere på, om jeg kunne lave en "if - if else + else
ligesom  velkomsthilsenen: godmorgen/middag/aften/nat...osv
- altså en "melodi"variant mere, til særlige dage (hvis det nu skulle være) og hvor mange flere? eller hvordan fungerer det?
Avatar billede hansi06 Nybegynder
07. november 2006 - 10:05 #12
Sorry - "jeg tror har regnet konstruktionen ud", jeg tilføjer eks.
var jul = "http://tvedmolle.dk/holynight.mid";
til:
var sang = "http://tvedmolle.dk/hverdag.mid";
var birthday = "http://tvedmolle.dk/congratulations.mid"; 
- men jeg må jo have lavet en try<fle;

- Nu kører det :-)
Avatar billede psykochicken Nybegynder
08. november 2006 - 13:35 #13
thumbs up... det er netop det eksperten går ud på - hjælp til selvhjælp ;o)
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