webForumDet fria alternativet

Trigga ett javascript med en "button" och mer....

2 svar · 1 432 visningar · startad av Danne V

Danne VMedlem sedan aug. 20068 090 inlägg
#1

Har ett skript som spelar slumpvist valda låtar som ser ut så här:

<script type="text/javascript">
<!--
function PlayIt(mp3){
	nummp3 = 4 //this needs to be the number of songs you have
	day = new Date()
	z = day.getTime()
	y = (z - (parseInt(z/1000,10) * 1000))/10
	x = parseInt(y/100*nummp3,10) + 1
	//to add more songs follow the format below, add as many as you like
	if (x == (1)){
		mp3=("musik/1.mp3")
	}
	if (x == (2)){
		mp3=("musik/2.mp3")
	}
	if (x == (3)){
		mp3=("musik/3.mp3")
	}
        if (x == (4)){
		mp3=("musik/0.mp3")
	}

	document.getElementById('music').innerHTML='<object width="215" height="45" '
    	+'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" '
      	+'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
      	+'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
      	+'<param name="url" value="'+mp3+'">'
      	+'<param name="uiMode" value="full">'
      	+'<param name="autoStart" value="true">'
      	+'<param name="loop" value="true">'
		+'<param name="volume" value="100">'
      	+'<embed type="application/x-mplayer2" width="215" height="45" '
      	+'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
      	+'showcontrols="true" uiMode="mini" '
      	+'src="'+mp3+'" autostart="1" loop="true">'
		+'<\/object>';
}
window.onload=PlayIt;
//-->
</script>

Frågor:

1. Hur kan man trigga scriptet med en vanlig <input name="button" type="button" id="button" /> istället för onLoad av sidan?

2. Jag vill ha två olika "playlists" som aktiveras av två olika buttons. Hur fixar man det?

nitro2k01Medlem sedan aug. 20039 342 inlägg
#2

Ugh! 2002 ringde och ville ha tillbaka sitt skript...
För det första är slumpningskoden något av det fulaste jag har sett. För det andra vill ingen använda en Windows Media Player-plugin i dagsläget. I dag är det Flash som gäller, eller möjligen HTML5+OGG om man vill vara på framkanten av utvecklingen.

Jag kan återkomma med kodexempel för en Flashbaserad spelare, men tills dess, svar på frågorna:

  1. Ta bort "window.onload=PlayIt;" och lägg till följande:
<input type="button" value="Spela" onclick="PlayIt();" />
<script type="text/javascript">
<!--
function PlayIt(playListIndex){
	// Här anger du sökvägen till filerna
	var playlists=[
		["musik/1.mp3", "musik/2.mp3", "musik/3.mp3"],
		["musik2/1.mp3", "musik2/2.mp3", "musik2/3.mp3"]
	]

	// Välj rätt spellista och känn av hur många filer som finns i listan
	var thePlaylist = playlists[playListIndex];
	var numSongs = thePlaylist.length;

	// Slumpa en fil
	var mp3 = thePlaylist[ parseInt(Math.random()*numSongs) ];

	// Samma som innan
	document.getElementById('music').innerHTML='<object width="215" height="45" '
    	+'classid="CLSID:6BF52A52-394A-11d3-B153-00C04F79FAA6" '
      	+'codebase="http://activex.microsoft.com/activex/controls/mplayer/en/nsmp2inf.cab#Version=5,1,52,701" '
      	+'standby="Loading Microsoft Windows Media Player components..." type="application/x-oleobject">'
      	+'<param name="url" value="'+mp3+'">'
      	+'<param name="uiMode" value="full">'
      	+'<param name="autoStart" value="true">'
      	+'<param name="loop" value="true">'
		+'<param name="volume" value="100">'
      	+'<embed type="application/x-mplayer2" width="215" height="45" '
      	+'pluginspage="http://microsoft.com/windows/mediaplayer/en/download/" '
      	+'showcontrols="true" uiMode="mini" '
      	+'src="'+mp3+'" autostart="1" loop="true">'
		+'<\/object>';
}
//-->
</script>
...
<input type="button" value="Spela från lista 1" onclick="PlayIt(0);" />
<input type="button" value="Spela från lista 2" onclick="PlayIt(1);" />

Obs! Räkningen börjar från 0. PlayIt(0) = den första angivna spellistan!

Danne VMedlem sedan aug. 20068 090 inlägg
#3

nitro2k01 skrev:

Ugh! 2002 ringde och ville ha tillbaka sitt skript...

Hehehe... :e

Tusen tack!

130 ms totalt · 3 externa anrop · v20260731065814-full.30151723
0 ms — hämta forumlista (cache)
0 ms — hämta statistik (cache)
128 ms — hämta tråd, inlägg och bilagor (db)