webForumDet fria alternativet

Flera taggar i getElementByTagName

JavaScript

4 svar · 642 visningar · startad av osklar0328

Medlem sedan apr. 201227 inlägg
Frågan#1

JavaScript

function playAll(){
	var playMedia = document.getElementsByTagName('video')[0];  
	playMedia.play();
}

function stopAll(){
    var stopMedia = document.getElementsByTagName('video')[0];  
    stopMedia.pause();  
}

Ska det inte gå att göra följande?

function playAll(){
	var playMedia = document.getElementsByTagName[B]('video,audio')[/B][0];  
	playMedia.play();
}

function stopAll(){
    var stopMedia = document.getElementsByTagName[B]('video,audio')[/B][0];  
    stopMedia.pause();  
}
Medlem sedan aug. 20039 340 inlägg
#2

Din kod som den ser ut nu kommer ju bara operera på det första elementet som returneras. Du vill nog göra något i stil med:

function playAll(){
	var playVideo = document.getElementsByTagName('video');
	
	for(var i=0; i<playVideo.length; i++)
		playVideo[i].play();

	var playAudio = document.getElementsByTagName('audio');
	
	for(var i=0; i<playAudio.length; i++)
		playAudio[i].play();
}

function stopAll(){
	var playVideo = document.getElementsByTagName('video');
	
	for(var i=0; i<playVideo.length; i++)
		playVideo[i].pause();

	var playAudio = document.getElementsByTagName('audio');
	
	for(var i=0; i<playAudio.length; i++)
		playAudio[i].pause();
}
Medlem sedan juni 20019 519 inlägg
#3

som nitro skriver och om du se vad metoden heter getElementsByTagName det är inte ByTagNames

Om du bara bry dig om moderna webbläsare kan du köra document.querySelectorAll("video, audio") men det är väl inte riktigt det du är ute efter.

Medlem sedan apr. 201227 inlägg
#4

Det här funkade också:

function playAll(){
    var playVideo = document.getElementsByTagName('video')[0]; 
    var playAudio = document.getElementsByTagName('audio')[0];  
		
		playVideo.play();
		playAudio.play();
}

function stopAll(){
    var stopVideo = document.getElementsByTagName('video')[0]; 
    var stopAudio = document.getElementsByTagName('audio')[0];  
		
		stopVideo.pause();
		stopAudio.pause(); 
}

Vad blir det för skillnad på dom två metoderna?

Medlem sedan aug. 20039 340 inlägg
#5

Om du har två videotaggar eller två audiotaggar så kommer den andra videotaggen eller den andra audiotaggen inte att startas eller stoppas.

254 ms totalt · 4 externa anrop · v20260731065814-full.6fe65c25
120 ms — deklarationer (db)
0 ms — hämta statistik (cache)
130 ms — hämta tråd, inlägg och bilagor (db)
121 ms — ändringar (db)