Ver Mensaje Individual
  #51 (permalink)  
Antiguo 17/02/2010, 04:20
Mr_Raymon
 
Fecha de Ingreso: diciembre-2009
Ubicación: España
Mensajes: 119
Antigüedad: 14 años, 4 meses
Puntos: 2
Respuesta: Combinar Lightbox (jQuery) con datos en XML

Pido perdon de nuevo por el retraso en mi respuesta, ya que he estado liado con muchas cosas y no me he vuelto loco de milagro.

Estoy probando ahora mismo el tema pero no lo tengo claro del todo.

¿Asi es como deberia hacerlo?

Código Javascript:
Ver original
  1. xml = stringToDoc(data);
  2.  
  3. items = new Array(4);
  4.  
  5. items[0] = "web";
  6. items[1] = "multimedia";
  7. items[2] = "movil";
  8. items[3] = "erp";
  9.  
  10. items.each(function(cat){ <- &#191;en "cat" se pone la categoria "web" por ejemplo?
  11.  
  12. $(xml).find(cat).each(function(){  <- &#191;en "cat" se pone la categoria "web" por ejemplo?
  13.  
  14. titulo = $(this).find('titulo').text();
  15. fecha = $(this).find('fecha').text();
  16. info = $(this).find('empresa').text();
  17.  
  18. not = '<p>'+fecha+'</p><p>'+titulo+'</p><p>'+finfo+'</p>';
  19.  
  20. $(".noticias").append(not)
  21.  
  22. }) // fin de each
  23.  
  24. }) // fin del each por categorias

Pongo el codigo que estoy trabajando ahora mismo e intentado hacerlo funcionar.

Código Javascript:
Ver original
  1. $.ajax({
  2.    
  3.     type: "GET",
  4.    
  5.     url: "xml/trabajos.xml",
  6.    
  7.     async: false,
  8.    
  9.     dataType: "text",
  10.    
  11.     success: function(data) {
  12.    
  13.     function stringToDoc(s) {
  14.     var xml;
  15.     if (window.ActiveXObject) {
  16.     xml = new ActiveXObject('Microsoft.XMLDOM');
  17.     xml.async = 'false';
  18.     xml.loadXML(s);
  19.     return xml;
  20.     }
  21.     else
  22.     xml = (new DOMParser()).parseFromString(s, 'text/xml');
  23.     return (xml && xml.documentElement && xml.documentElement.tagName
  24.     != 'parsererror') ? xml : null;
  25.     };
  26.     xml = stringToDoc(data);
  27.  
  28.     items = new Array(4);
  29.  
  30.     items[0] = "web";
  31.     items[1] = "multimedia";
  32.     items[2] = "movil";
  33.     items[3] = "erp";
  34.  
  35.     items.each(function(web){
  36.  
  37.     $(xml).find(web).each(function(){
  38.    
  39.     imagen = $(this).find('imagen').text()
  40.     info = $(this).find('info').text()
  41.     emp = $(this).find('empresa').text()
  42.     tecno = $(this).find('tecnologia').text()
  43.     miniatura = $(this).find('miniatura').text()
  44.     proyecto = $(this).find('proyecto').text()
  45.    
  46.     s_web = '<li><a href="'+imagen+'" rel="prettyPhoto[web]" title="<strong>'+proyecto+'</strong><br/>'+emp+'<br/>'+info+'<br/>'+tecno+'"><img src="'+miniatura+'" class="imagen_hover"></a></li>';
  47.    
  48.     $(".web").append(s_web)
  49.    
  50.     }) // fin de each
  51.    
  52.     }) // fin del each por categorias
  53.    
  54.     error: function(avisoErrorProyecto) {
  55.    
  56.     alert("No ha sido posible cargar los datos. Por favor, intentelo mas tarde.");
  57.    
  58.     }
  59.    
  60.     })  // fin de llamada ajax
  61.  
  62.     }

Y por supuesto tiene que salir la ventana de error de IE diciendo lo siguiente:

Cita:
Detalles de error de página web

Agente de usuario: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0)
Fecha: Wed, 17 Feb 2010 10:23:11 UTC

Mensaje: Se esperaba '}'
Línea: 67
Carácter: 3
Código: 0
URI: file:///C:/Documents%20and%20Settings/Casa/Escritorio/Prueba/js/funciones.js
Es justo en la linea del fin de llamada en AJAX.

Cita:
}) // fin de llamada ajax
¿Hay alguna manera para que en Notepad++ detecte automaticamente que puede fallar en el codigo?

Saludos y Gracias ;)

Última edición por Mr_Raymon; 12/03/2010 a las 04:32