Я hava javascript-код (для слайд-шоу) ниже, а также тег html audio. Я хочу, чтобы моя страница загружала каждый компонент, прежде чем воспроизводить слайд-шоу, а также аудиофайл.
У меня нет проблем с использованием window.onload, чтобы удовлетворить мои потребности, чтобы запустить слайд-шоу. но я не знаю, как это сделать с помощью моего тега html.
Я думаю, что я должен написать свой javascript внутри тега body и использовать: body onload = "...". но я не знаю, как!
вот мой код javascript:
<script type="text/javascript">
window.onload = a;
function a() {
$(document).ready(function(){
$('#slideshow').cycle({
x:'curtainX',
sync: false,
speed:900,
timeout:10,
delay: 1500,
});
});
setTimeout(plus1,9000);
function plus1() {
$(document).ready(function(){
$('#slideshow').cycle('pause');
});
}
}
</script>
и это мой звуковой тег:
<audio autoplay loop>
<source src="kooche.mp3">
спасибо за помощь
Похоже, вы можете играть в слайд-шоу после загрузки страницы, но вы не знаете, как настроить воспроизведение звука после загрузки страницы. Верный?
Если это так, вместо включения аудиоэлемента HTML в разметку вы можете динамически создавать аудио элемент в своем скрипте.
Например:
$(document).ready(function(){
$('#slideshow').cycle('pause');
// Create the audio element
var music = new Audio("kooche.mp3");
music.play();
});
Я также рекомендую проверить, поддерживает ли браузер браузера воспроизведение аудио в формате HTML5.
var audioEl = document.createElement('audio');
// Check this before you try playing your audio
var canPlayAudio = !!(a.canPlayType && a.canPlayType('audio/mpeg;').replace(/no/, ''));
Это то, что вам нужно? Он воспроизводит песню при загрузке с использованием .trigger
и нет раздутой разметки. http://jsfiddle.net/2xH29/
Если jQuery является опцией, вы можете использовать
$(document).ready(function(){
//my slideshow code
});
Или, если это не вариант, вы можете создать свой собственный псевдо-jQuery-подобный готовый слушатель
function onReady (callback){
var addListener = document.addEventListener || document.attachEvent,
removeListener = document.removeEventListener || document.detachEvent
eventName = document.addEventListener ? "DOMContentLoaded" : "onreadystatechange"
addListener.call(document, eventName, function(){
removeListener( eventName, arguments.callee, false )
callback()
}, false )
}
Или, поставьте код слайд-шоу под вопросом в самом низу вашего DOM. Естественно, это будет выполнено последним.