Foros del Web » Programando para Internet » Jquery »

Callback jQuery, sintaxis

Estas en el tema de Callback jQuery, sintaxis en el foro de Jquery en Foros del Web. Hola, veréis necesito pasar una secuencia de código como callback y no sé bien cómo escribirlo. La callback tiene que ir aquí: Código PHP:   ...
  #1 (permalink)  
Antiguo 20/08/2010, 07:18
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 3
Callback jQuery, sintaxis

Hola, veréis necesito pasar una secuencia de código como callback y no sé bien cómo escribirlo.

La callback tiene que ir aquí:

Código PHP:
 $('#list-works').quicksand($filteredData, {
        
duration300,
        
easing'easeInOutQuad',
        
useScalingtrue,
        
adjustHeighttrue,
        
timezone: +10
       
(CALLBACK)
      }); 
Y tiene q pasarse el siguiente código:

Código PHP:
$('.hover-fx-slide').hover(  
    function () {  
  
        
value = $(this).find('img').outerHeight() * -1;  
          
        $(
this).find('img').stop().animate({topvalue} ,{duration:200easing'linear'});     
          
    },  
    function () {  
           
        $(
this).find('img').stop().animate({top:0} ,{duration:300easing'linear'});      
      
    }); 
Como véis se trata de un plugin llamado quicksand q permite reorganizar elementos o items de una forma muy visual atractiva. El plugin en cuestión es este, por si os interesa --> http://razorjack.net/quicksand/docs-and-demos.html

En esta misma página podéis ver una sección q dice "Integración con otros plugins". Aquí se explica de la siguiente manera que no sé implementar:

Código PHP:
$("#content").quicksand($("#data > li"), 
  {
    
duration1000,
  }, function() { 
// callback function
    
$('#content a').tooltip();
  }
); 
Pues bien, es ahí donde explica como pasar otras funciones como callback y yo no sé escribirlo correctamente. No es otro plugin lo q quiero pasar, si no una serie de funciones q realizan distintos efectos sobre cada item. El de arriba es solo un ejemplo, habría más de estos con declaraciones de variables y demás.

Espero q me podáis ayudar, gracias!!!
  #2 (permalink)  
Antiguo 20/08/2010, 07:28
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Callback jQuery, sintaxis

Perdonar, porque veo q no me expliqué bien.

Lo que necesitaría es poder meter todas las funciones que tienen q ir en la call en un objeto y luego lanzarlo desde una función.

Como puedo empaquetar todo ese código y luego realizar la llamada en callback con una simple función??
  #3 (permalink)  
Antiguo 20/08/2010, 08:26
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 9 meses
Puntos: 35
Respuesta: Callback jQuery, sintaxis

Te recomiendo crear una funcion que podria recibir un identificardor del elemento como parametro sobre quien debe realizar su funcionalidad
luego el nombre de dicha funcion es declarada en el parametro del callback del quicksand
Código PHP:
}, function() { // callback function
    
$('#content a').tooltip();

Código PHP:
}, myFunction('idElemento')// callback function 
Código PHP:
function myFunction(id) {
$(
'#'+id).hover(  
    function () {  
  
        
value = $(this).find('img').outerHeight() * -1;  
          
        $(
this).find('img').stop().animate({topvalue} ,{duration:200easing'linear'});     
          
    },  
    function () {  
           
        $(
this).find('img').stop().animate({top:0} ,{duration:300easing'linear'});      
      
    });  

__________________
I am Doyle please insert code.
  #4 (permalink)  
Antiguo 20/08/2010, 10:04
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Callback jQuery, sintaxis

Eso es justo lo que necesito, pero lamentablemente debo de estar haciendo algo mal. Lo he pasado de la siguiente manera:

Código PHP:
function myFunction(id) {
    $(
'.hover-fx-fade'+id).hover(function() {  
          
        
width = $('.hover-fx-fade').width() * zoom;  
        
height = $('.hover-fx-fade').height() * zoom;  
          
        $(
this).find('img').stop(false,true).animate({'width':width'height':height'top':move'left':move}, {duration:200});  
          
        $(
this).find('div.fx-fade').stop(false,true).fadeIn(200);  
    },  
    function() {  
        $(
this).find('img').stop(false,true).animate({'width':$('.fx-fade').width(), 'height':$('.fx-fade').height(), 'top':'0''left':'0'}, {duration:100});      
  
        $(
this).find('div.fx-fade').stop(false,true).fadeOut(400);  
    }); 
  } 
Y el callback en quicksand lo realizo con la llamada a esta función:

Código PHP:
$('#list-works').quicksand($filteredData, {
        
duration300,
        
easing'easeInOutQuad',
        
useScalingtrue,
        
adjustHeighttrue,
        
timezone: +10,
        }, 
myFunction('id')  // callback function 

      
); 
Hay algo q no entiendo y es el tema del id, q supongo q simplemente es el nombre que quiero utilizar para esta función. Pero no entiendo por qué se usa el más y luego el identificador. No se supone que pasandole el nombre de la función simplemente debería de lanzarla?

Siento tantas dudas, pero sobre todo agradezco el interés y la ayuda!! Muchas gracias en cualquier caso!!
  #5 (permalink)  
Antiguo 20/08/2010, 11:43
 
Fecha de Ingreso: junio-2008
Ubicación: Capital Federal xD
Mensajes: 1.208
Antigüedad: 15 años, 9 meses
Puntos: 35
Respuesta: Callback jQuery, sintaxis

Creo que tu selector esta mal armado
Código PHP:
$('.hover-fx-fade'+id).hover
Ejemplo, el siguiente selector busca a un table contenido dentro de un elemento con id igual al contenido en la variable idElement.
Código PHP:
$('#'+idElement+' >table'); 
Adaptalo a tu code.
__________________
I am Doyle please insert code.
  #6 (permalink)  
Antiguo 20/08/2010, 14:05
Avatar de seik!  
Fecha de Ingreso: mayo-2006
Mensajes: 492
Antigüedad: 17 años, 10 meses
Puntos: 6
Respuesta: Callback jQuery, sintaxis

Código:
 $('#list-works').quicksand($filteredData, {
        duration: 300,
        easing: 'easeInOutQuad',
        useScaling: true,
        adjustHeight: true,
        timezone: +10
      },(CALLBACK));

creo que ese el el orden.. ve la diferencia con el tuyo.

saludos
__________________
sEIK! -Chile-
Analista Programador.
  #7 (permalink)  
Antiguo 22/08/2010, 19:22
 
Fecha de Ingreso: octubre-2006
Mensajes: 199
Antigüedad: 17 años, 5 meses
Puntos: 3
Respuesta: Callback jQuery, sintaxis

Muchas gracias por vuestra ayuda.

Usando el código de la sigueinte manera, tal y como indicabais antes:

Código PHP:
$('#list-works').quicksand($filteredData, {
        
duration300,
        
easing'easeInOutQuad',
        
useScalingtrue,
        
adjustHeighttrue,
        
timezone: +10,
        }, 
myFunction()  // callback function 

      
); 
He conseguido que funcionara, simplemente declarando una función con los eventos que necesitaba realizar y sus funciones. Luego le paso el nombre de la función a quicksand en callback y listo. Working!!

Lamentablemente la lista de items q participan en este espacio de código contienen algunas funciones que parecen no ser compatibles con este plugin, pues unas funcionan y otras no. Así que he decidido utilizar otro sistema. Pero en cualquier caso os agradezco muchísimo vuestra ayuda.

GRACIAS!!!


Etiquetas: sintaxis
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 19:56.