Ver Mensaje Individual
  #27 (permalink)  
Antiguo 09/01/2010, 15:58
Avatar de mayid
mayid
Colaborador
 
Fecha de Ingreso: marzo-2009
Ubicación: BsAs
Mensajes: 4.014
Antigüedad: 15 años, 7 meses
Puntos: 101
Respuesta: Combinar Lightbox (jQuery) con datos en XML

Bueno, te falta cerrar un parentesis. Pero tambien te falta abrir una llave en document.ready y encerrar todo el codigo entre esas llaves:

Cambia esto:

Cita:
$(document).ready();
Por esto, que queda abierto (sin punto y coma en esta linea, quiero decir):

Cita:
$(document).ready(function(){
En verdad, te faltaban varias llaves a mas de parentesis. Que editor usas? Te conviene una que al marcar con click sobre una llave te muestre donde empieza y donde termina...

Tema aparte: me quede pensando en lo que decias:
Cita:
¿Pego el codigo sin mas? Imagino que habria que crear una funcion para cargar el $.ajax.
Esto es tremendamente cierto. Necesitas de un disparador para que se haga la llamada al Ajax. Cual es la excusa? Un click en algún botón, o algo así?



Aqui te dejo el codigo con las llaves y parentesis corregidos. Testealo en IE.

Cita:

$(document).ready(function(){
$.ajax({

type: "POST",

url: "xml/trabajos.xml",

async: false,

dataType: "text",

success: function(data) {

function stringToDoc(s) {
var xml;
if (window.ActiveXObject) {
xml = new ActiveXObject('Microsoft.XMLDOM');
xml.async = 'false';
xml.loadXML(s);
return xml;
}
else
xml = (new DOMParser()).parseFromString(s, 'text/xml');
return (xml && xml.documentElement && xml.documentElement.tagName
!= 'parsererror') ? xml : null;
};
xml = stringToDoc(data);

$(xml).find('web').each(function(){

miniatura = $(this).find('proyecto').find('miniatura').text();
imagen = $(this).find('proyecto').find('imagen').text();
info = $(this).find('proyecto').find('info').text();

li = '<li><a href="+imagen+" rel="prettyPhoto[fondos]" title="+info+<br/>+empresa+<br/>+tecnologia+"><img src="+miniatura+" class="imagen_hover" alt="<strong>+proyecto+</strong>"/></a></li>';

$(".galeria").append(li)

}) // fin de each

},

error: function(avisoError) {

// FUNCION PARA AVISAR DEL ERROR

};

}) // fin de llamada ajax

}) // fin de llamada dom ready