Comunidad de diseño web y desarrollo en internet online

Conflicto entre dos efectos Scroll Wheel en una misma pagina

Citar            
MensajeEscrito el 23 May 2008 07:48 am
Hola

tengo un sitio que tiene un scroller para todo la pagina (SCROLLER GENERAL)
y dentro de la página tengo un MC que también tiene un scroller (SCROLLER INTERNO)

aquí se ven funcionando:

http://www.diegorosenbergtherapy.com/ext/
//si no aparece el scroller general achicar la ventana del browser

Funcionan bien pero... como verán los dos scroller funcionan al mismo tiempo.

Me gustaria si es posible que cuando el puntero esté sobre el scroller interno el scroller general no funcione y viceversa: cuando el puntero este fuera del area del scroller interno solo funcione el general
Supongo que es algo muy sencillo pero no para mi.


Imagino que si alguien me puede ayudar necesitará ver los códigos relacionados con el scrolling de ambos

1) El del scroller general:

Código :

//create the mouselistener object
var mouseListener = new Object();
// creating the mousewheel function
mouseListener.onMouseWheel = function(delta) {
   scroll_mc._y -= delta*10;
   if (scroll_mc._y<0) {
      scroll_mc._y = 0;
   }
   if (scroll_mc._y+scroll_mc._height>Stage.height) {
      scroll_mc._y = Stage.height-scroll_mc._height;
   }
   ease.onEnterFrame = update;
};
// adding the listener to the Mouse object
Mouse.addListener(mouseListener);
_root.initStage();



2) el del scroller interno:

http://www.diegorosenbergtherapy.com/ext/as/scroll.as

Por chefnelone

41 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 23 May 2008 09:54 am
Para quitar la escucha al evento

Mouse.removeListener(mouseListener);

Entonces en el rollOver de tu clip interno, desactivas el scroll general y activas el interno, en el rollOut haces lo contrario. Para poder hacerlo mas fácilmente, mete el bloque entero (como el que posteaste) dentro de una función

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2008 10:15 am
No se si te he entendido.. lo harías así: (pero no terminos de entender que poner donde hay puntos)

el mc que tiene el scroller interno se llama "contenedor_section1"

al "contenedor_section1" le adjunto estas dos funciones:

on(rollOver) {
//activo el mouseListener de este clip (scroller interno) con:
....

//desactivo el mouseListener para el scroller general:
....
}
on(rollOut) {
//desactivo el mouseListener de este clip (scroller interno) con:
this.Mouse.removeListener(mouseListener);

//activo el mouseListener para el scroller general:
.....
}

Por chefnelone

41 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 23 May 2008 10:26 am
Pon el código que posteaste antes en una función que llamaremos activarScroll, entonces pones

_root.activarScroll()

En realidad no uses _root, usa los _parent que necesites, siempre usa rutas relativas. Para desactivar, siempre

Mouse.removeListener(elListenerQueSea)

Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2008 12:56 pm
perdona que no te entienda

yo postee dos codigos: el del scroller general y el del scroller interno:
1) cual de ellos uso en la funcion que me dices?

y se llaman mouseListener los dos..
Debo cambiarles el nombre no?

Por chefnelone

41 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 23 May 2008 01:16 pm
Ambos listeners están en distintos [url=http://www.flash-db.com/Board/index.php?topic=4072.0]scope[url], con lo cual no afecta el nombre.
Aquí un ejemplo de habilitar el scroll en el rollover, deshabilitarlo en el rollOut usando una única functión con argumento Booleano:

Código :

//create the mouselistener object
mouseListener = new Object();
function listenScroll(enable:Boolean) {
   if (enable) {
      // creating the mousewheel function
      mouseListener.onMouseWheel = function(delta) {
         scroll_mc._y -= delta*10;
         if (scroll_mc._y<0) {
            scroll_mc._y = 0;
         }
         if (scroll_mc._y+scroll_mc._height>Stage.height) {
            scroll_mc._y = Stage.height-scroll_mc._height;
         }
         ease.onEnterFrame = update;
      };
      // adding the listener to the Mouse object
      Mouse.addListener(mouseListener);
   } else {
      Mouse.removeListener(mouseListener);
      ease.onEnterFrame = null;
   }
}
//ahora el callback del MC
miMC.onRollOver = function() {
   listenScroll(true);
};
miMC.onRollOut = function() {
   listenScroll(false);
};


Jorge

Por solisarg

BOFH

13669 de clabLevel

4 tutoriales
5 articulos

Genero:Masculino   Bastard Operators From Hell Premio_Secretos

Argentina

firefox
Citar            
MensajeEscrito el 23 May 2008 01:25 pm
gracias por tu ayuda
me estudiaré esto hasta que salga

Por chefnelone

41 de clabLevel



Genero:Masculino  

safari
Citar            
MensajeEscrito el 22 Jul 2008 09:13 pm
chefnelone
Estoy buscando como hacer para q el scroll en Flash funcione de las dos maneras, como vos hiciste en el siguiente ejemplo...

http://www.diegorosenbergtherapy.com/ext/

Me podrías decir como hacerlo?
Busqué en todos lados pero no pude encontrar un tuto que me diga como hacer para que el scroll funcione de ambas maneras, como vos hiciste en el scroll central en el ejemplo antes mencionado.

Gracias y espero que puedas ayudarme

Por ger251

3 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.