Tema: Proyecto
Ver Mensaje Individual
  #7 (permalink)  
Antiguo 17/08/2015, 05:24
ElionTDA
 
Fecha de Ingreso: agosto-2015
Ubicación: Burgos, España
Mensajes: 17
Antigüedad: 8 años, 9 meses
Puntos: 0
Respuesta: Proyecto

Llevo unas cuantas horas intentándolo pero nada, y ya desesperado, he creado un documento nuevo, con solo 4 secciones, y todo (css y js) metido en el mismo documento.

Cita:
<!--Comienza el programa html-->
<html>
<head>
<meta charset="utf-8">
<!--Titulo de la historia-->
<title>SmartStories</title>
<!-- Descripcion de la historia-->
<meta name="descripcion" content="<?php echo $string["descipcion"] ?>">

<!-- Libreria de jQuery -->
<script type="text/javascript" src="http://code.jquery.com/jquery-2.1.3.min.js"></script>

<style type="text/css">
.partes{
width: 100%;
margin: 0px;
height:800px;
}
#parte0{
background-color: black;
}
#parte1{
background-color:blue;
}
#parte2{
background-color: red;
}
#parte3{
background-color: green;
}
body{
background-color: yellow;
margin: 0px;
}
</style>

<script type="text/javascript">

document.addEventListener("DOMContentLoaded", function(){

alert("Antes");
[].forEach.call(document.querySelectorAll("[id^=parte]"), function(section){
window.addEventListener("scroll", function(){

if (this.scrollY >= section.offsetTop - document.documentElement.clientHeight &&
this.scrollY + document.documentElement.clientHeight <= section.offsetHeight + section.offsetTop){

alert("Hola mundos");
section.querySelector("audio").play();
}
else{
alert("Adios Mundo");
section.querySelector("audio").pause();
}
}, false);
});

}, false);
</script>
</head>

<body>
<section id="parte0" class="partes">
<audio>
<source src = "sounds/fondo1.mp3" type = "audio/mpeg" />
</audio>
</section>

<!--Parte 1-->
<section id="parte1" class="partes">
<audio>
<source src = "sounds/fondo2.mp3" type = "audio/mpeg" />
</audio>
</section>

<!--Parte 2-->
<section id="parte2" class="partes">
<audio>
<source src = "sounds/fondo3.mp3" type = "audio/mpeg" />
</audio>
</section>

<!--Parte 3-->
<section id="parte3" class="partes">
<audio>
<source src = "sounds/fondo4.mp3" type = "audio/mpeg" />
</audio>
</section>
</body>
</html>
Al recargar la pagina(F5), me sale la alerta del javascript "Antes". Y no se oye nada.
Despues al iniciar el scroll me salta la alerta "Adios mundo" del js(el else), y me salta 4 veces, una por cada parte.
Y esto me pasa cada vez que hago un solo scroll hacia abajo, o hacia arriba. A excepción de cuando llego al top, que salta el alert("Hola mundo"); y empieza a sonar la canción. Pero únicamente en ese caso.

Adicionalmente me ha surgido otra duda, el hecho de que cada vez que se haga un scroll, se comprueben todas las partes no puede sobrecargar la pagina mucho y hacer que vaya muy lenta?, me refiero, esta tiene solo 4 secciones, pero si la hiciera de 20 o 30 secciones...

Muchas gracias por tu tiempo.