Ver Mensaje Individual
  #18 (permalink)  
Antiguo 24/09/2013, 15:17
mensajeescrito
 
Fecha de Ingreso: mayo-2012
Mensajes: 760
Antigüedad: 11 años, 11 meses
Puntos: 5
Respuesta: Ejecutar funcion javascript solo una vez

Ok, codigo que estoy utilizando es este:

Para que me apacezcan las opciones de menu:

Código Javascript:
Ver original
  1. // inicialmente aparece la primera opcion marcada
  2.         var ultimo=1;
  3.         $(document).ready(function(){
  4.             // evento que se ejecutara al seleccionar cualquier opcion del menu
  5.             $(".dock-container2 div").click(function(){
  6.                 // obtenemos el nuevo id
  7.                 nuevo=$(this).attr("id");
  8.                 if(nuevo!=ultimo)
  9.                 {
  10.                     // escondemos el ultimo id
  11.                     $("#opc_"+ultimo).fadeOut(function(){
  12.                         $("#"+ultimo).removeClass("seleccionado");
  13.                         $("#"+nuevo).addClass("seleccionado");
  14.                         // mostramos el nuevo id
  15.                         $("#opc_"+nuevo).fadeIn();
  16.                         ultimo=nuevo;
  17.                     });
  18.                 }
  19.             });
  20.         });



Y el siguiente codigo es el que utilizo para personalizar el scrollbar de dichos divs del menu de opciones:

Código Javascript:
Ver original
  1. (function($){
  2.             $(window).load(function(){
  3.  
  4.                 $(".contenedor_opcs").mCustomScrollbar({
  5.                     scrollButtons:{
  6.                         enable:true
  7.                     }
  8.                 });
  9.  
  10.             });
  11.         })(jQuery);



Me sugeristeis implementar el primer codigo que he puesto en este post, con el segundo codigo para ,asi, en un solo click hacer que mediante un fade aparezca el div de la opcion de menu + el scrollbar. Y lo he intentado pero como estoy pegado en javascript pues no me sale.

y la otra opcion de solucion que se me ocurria era poner en el segundo codigo de este post un stop para que no se repitiera cada x segundos al ponerle un setInterval, pero no se como se le coloca.

Y no, no me va con el setTimeout ( y no se porque por que hubiera sido genial ya que se ejecuta solo una vez) pero setTImeout no va .

De alguna manera es forzar a que el codigo de personalizacion del scrollbar se ejecute para cada div (opcion de menu)

Ya que el problema que pasa es que solo consigo que aparezca en opcion de menu "A" y en la opcion de menu "b" no aparece.

y vicecersa, si pongo el srollbar en b entonces no me aparece en "A".


Hasta que descubri que con setInterval funciona pero claro , me aparecen 1,2,3,4,5,6,7,8 scrollbar asi hasta el infinito por que no se para nunca por eso necesito pararlo cuando se ejecute una vez.

Y repito setTimeout no va, lo he reprobado mil veces.



Si pudierais ayudarme os estaria eternamente agradecido.

Última edición por mensajeescrito; 24/09/2013 a las 15:23