Comunidad de diseño web y desarrollo en internet online

ayuda con la shadowbox y carga dinamica AJAX

Citar            
MensajeEscrito el 10 Dic 2009 02:30 am
hola, la verdad hasta pena me da, pero ya que, no he podido solucionar el problema en 2 dias y traego un poquito de precion detras, beuno les explico,

tengo una pagina PHP donde tengo anclada la shadowbox, ya saben esa para mostrar fotos, y tengo varios links que abren algunas fotos, hasta aqui todo bien, el problema viene cuando utilizo ajax para cargar un archivo hello.php dentro de un DIV con otros links para seguir abriendo mas fotos,

cuando hago la carga dentro de ese div, ya no abre las fotos con la shadowbox, si no que sigue el link y muestra la foto en otra pagina.

espero explicarme bien, no se poque sucede esto, ya intente poner la carpeta de shadowbox donde esta el archivo hello.php pero nada,

bueno espero me puedan echar la mano, si necesitan mas datos del problema me dicen, esque ni yo se como explicar este horror, thx!

Por smokingwel

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 10 Dic 2009 02:08 pm
Hola soy nuevo en el foro, también tenia ese error, la solución es simple:

if(ajax.readyState==4){
if(ajax.status==200){

}else if(ajax.status==404){

}else{

}
Shadowbox.setup(contenido);
Shadowbox.open(contenido);
}

*contenido, es la div donde cargas el contenido ajax

con eso ya debería funcionar.

Por BBP

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Dic 2009 12:52 am
uyyy, ahora si me dejaste con la cara de :shock:

ese codigo donde iria, en la principal? o en el archivo que voy a cargar?,

quedaria asi?

Código Javascript :

Shadowbox.init({
    language:   "es"
    
if(ajax.readyState==4){
if(ajax.status==200){

}else if(ajax.status==404){

}else{

}
Shadowbox.setup(contenido);
Shadowbox.open(contenido);
}

});



o como seria, disculpa...

Por smokingwel

16 de clabLevel



 

firefox
Citar            
MensajeEscrito el 11 Dic 2009 12:58 am
<!--CODIGO AJAX-->
<script language="javascript" type="text/javascript">
function NuevoAjax(){
var xmlhttp=false;
try{
xmlhttp = new ActiveXObject("Msxml2.XMLHTTP");
}catch(e){
try{
xmlhttp = new ActiveXObject("Microsoft.XMLHTTP");
}catch(E){
xmlhttp = false;
}
}

if(!xmlhttp && typeof XMLHttpRequest!='undefined'){
xmlhttp = new XMLHttpRequest();
}
return xmlhttp;
}
function Cargar(url, numero_page){
var contenido, preloader, num_page;
contenido = document.getElementById('contenido');
num_page = document.getElementById('page_act');
ajax=NuevoAjax();
ajax.open("GET", url,true);
ajax.onreadystatechange=function(){
if(ajax.readyState==1){
contenido.innerHTML = "<table width='580' height='340' align='center' border='0' cellspacing='0' cellpadding='0'><tr><td align='center' valign='middle' class='color2'><img src='pics/loading.gif' /><br><br>Loading...</td></tr></table>";
}else if(ajax.readyState==4){
if(ajax.status==200){
contenido.innerHTML = ajax.responseText;
num_page.innerHTML = "<b>Gallery "+numero_page+"</b>&nbsp;&nbsp;";
}else if(ajax.status==404){
contenido.innerHTML = "Page no fount";
}else{
contenido.innerHTML = "Error:".ajax.status;
}
contenido.setAttribute('rel','shadowbox[jhonnatan]');
Shadowbox.setup(contenido);
Shadowbox.open(contenido);
}
}
ajax.send(null);
}
</script>
<!--FIN CODIGO AJAX-->


Este es el codigo que yo he utilizado, lo pones en del codigo ajax, no del shadowbox, espero que te sirva.

Por BBP

1 de clabLevel



 

chrome
Citar            
MensajeEscrito el 11 Dic 2009 01:21 am
ah, ahora si entendi, ya vi como esta el show!. BRAVISIMO!, dejo aqui el codigo que utilice para si alguien lo llega a necesitar, thx!,

me funciono agregando esto simplemente lo siguiente al final del codigo:

Código Javascript :

contenido.setAttribute('rel','shadowbox()');
Shadowbox.setup(contenido);
Shadowbox.open(contenido);
}


y aqui todo el codigo completo del ajaxpreload:

Código Javascript :

<script type="text/javascript">
function ajaxFunction() {
  var xmlHttp;
  
  try {
   
    xmlHttp=new XMLHttpRequest();
    return xmlHttp;
  } catch (e) {
    
    try {
      xmlHttp=new ActiveXObject("Msxml2.XMLHTTP");
      return xmlHttp;
    } catch (e) {
      
     try {
        xmlHttp=new ActiveXObject("Microsoft.XMLHTTP");
        return xmlHttp;
      } catch (e) {
        alert("Tu navegador no soporta AJAX!");
        return false;
      }}}
}




function Enviar(_pagina,capa) {
    var ajax;
    ajax = ajaxFunction();
    ajax.open("POST", _pagina, true);
    ajax.setRequestHeader("Content-Type", "application/x-www-form-urlencoded");

    ajax.onreadystatechange = function() {
      if (ajax.readyState==1){
         document.getElementById(capa).innerHTML = " Aguarde por favor...";
              }
      if (ajax.readyState == 4) {
         
                document.getElementById(capa).innerHTML=ajax.responseText; 
           }}
          
   ajax.send(null);

contenido.setAttribute('rel','shadowbox()');
Shadowbox.setup(contenido);
Shadowbox.open(contenido);
} 



</script>



:)

Por smokingwel

16 de clabLevel



 

firefox

 

Cristalab BabyBlue v4 + V4 © 2011 Cristalab
Powered by ClabEngines v4, HTML5, love and ponies.