Pregunta

Estoy realmente confundido y no sé cómo seguir, probablemente puedas ayudarme :)

He creado una página html con un menú que carga contenido externo en un div (todo hecho con jquery y ajax-load).

Si quiero agregar una segunda función, no pasa nada y no estoy seguro de la anidación, si está bien o no.

Aquí hay dos funciones, la primera carga una página html completa, la segunda carga una división externa en una división del archivo cargado anterior (espero que la haya descrito para que puedas entenderla :)) (numRand es una número aleatorio, no importante para la pregunta).

function changeMenu(menupunkt) {
$(function(){
    $('#mainContent').fadeOut('fast', function(){ $("#mainContent").load(menupunkt+".html?"+numRand);});
    $('#mainContent').fadeIn('fast');});
    return false;

}

Aquí está el segundo código:

function changeSubMenu(submenupunkt,subdiv) {
    $(function(){
        $('#htmlContainer').fadeOut('fast',function(){ $("#htmlContainer").load(submenupunkt+".html?"+numRand+" div#"+subdiv);});
        $('#htmlContainer').fadeIn('fast');});
        return false;

}

Quiero combinar las dos funciones para poder llamar a una función:

someFunction(menupunkt,submenupunkt,subdiv)

Esto primero debe cargar el menupunkt.html y si esta acción ha finalizado, debe cargar el div.

si solo quiero cargar un menupunkt y no submenupunkt o subdiv, ¿cómo puedo llamar a la función?

Espero poder explicar mi pregunta para que puedan seguirla, un poco complicada, lo sé :)

¡Gracias de antemano!

¿Fue útil?

Solución

en primer lugar

$(function() { .... code here .... }); 

es una abreviatura de

$(document).ready(function() { .... code here .... });

que es una forma jQuery de configurar una función para que se ejecute cuando el DOM se haya cargado. está utilizando esto dentro de sus funciones changeMenu y changeSubMenu que no es necesario ( a menos está ejecutando ambas funciones inmediatamente cuando una página comienza a cargarse , pero esa sería una forma extraña de configurar las cosas).

El comando load () toma una función de devolución de llamada que se ejecutará cuando la carga se haya completado. Por ejemplo,

$("#mainContent").load(menupunkt+".html?"+numRand, [callback here]);

[callback] puede ser una función anónima (función en línea) o una función con nombre.

Espero que esto ayude

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top