2013-06-16 4 views
0

저는 Wordpress에서 웹 사이트를 만들고 다른 페이지의 다른 요소에 div 및 마우스 이벤트 (onmouseover, onmouseenter 및 onclick)를 사용하고 있습니다.div - javascript를 클릭하여 모든 사운드 효과를 활성화/비활성화하십시오.

나는 바닥 글에 오디오 및 스크립트를 넣어했습니다

onmouseenter="ef1.play();" 

내가 또한 특정 페이지를로드하는 효과를 : 모든 페이지에 모든 사업부의 내부에서 호출되는

<audio id="ef1"><source src="url"/></audio> 
<script type="text/javascript">var ef1 = document.getElementById("ef1"); ef1.volume='0.4';</script> 

내가 함께 할 . 따라서 모든 오디오가 바닥 글에있는 것은 아닙니다.

이제는 모든 오디오를 함께 처리 할 수있는 방법이 있습니다. 하나의 요소 (div)를 클릭하여 모든 오디오를 활성화/비활성화 할 수 있습니까?

볼륨 슬라이더를 사용하면 문제가되지 않지만 나를 위해 사용/사용 중지 기능이 충분합니다.

편집 : div 내의 onclick 이벤트로 전환 기능이 필요합니다.

onclick="ef1.volume='0'; ef2.volume='0'; etc" 

문제를이와 (오디오를 많이 가진 옆) 볼륨이 새로 고침 또는 다른 페이지를 연 후 다시 정상으로 얻을 수 있다는 것입니다 : 내가 지금 알고 모두 넣어하는 것입니다.

편집 2 :이게 내가 묻고있는 것인가? 어쩌면이 onclick 이벤트는 어쨌든 IP 주소를 암기해야하거나 단순히 쿠키를 남겨 두어야합니까? 당신이 <audio>가 꺼져 모두를 원하는 경우에 내가 어떻게 (총 초급)을 달성하기 위해 아무 생각 ...

답변

1

이 없다, 당신은 document.getElementsByTagName('audio')를 사용하여 얻을 수 있습니다. 페이지의 모든 <audio>에 대한 참조를 포함하는 배열 (NodeList)을 반환합니다. 이 배열을 반복하고 무언가를 수행 할 수 있습니다 (예 : pause()).

var audioElements = document.getElementsByTagName('audio'); 
for(var i = 0; i < audioElements.length; ++i){ 
    audioElements[i].pause(); 
} 
+0

도움 주셔서 감사합니다. 그러나, 나는 이것 (나는이 분야에서 완전히 새로운 것)으로 무엇을 해야할지 모르겠다. div 안에 onclick 이벤트로 전환 기능이 필요합니다. 지금 내가 아는 전부는 onclick = "ef1.volume = '0'; ef2.volume = '0';"이 문제는 (오디오가 많이있는 것 외에는) 볼륨이 새로 고침 후 정상으로 돌아 오거나 다른 페이지를 여는 중입니다. – weaponx

+0

안녕하세요 조셉, 오랫동안이 문제로 돌아 왔습니다. 귀하의 코드 ($ ('# allsounds')를 구현하려고 시도했습니다.) (var i = 0; i weaponx