Foros del Web » Programando para Internet » Javascript »

(comet) mostrar informacion en dos div diferentes uno con efecto fade y otro sin

Estas en el tema de (comet) mostrar informacion en dos div diferentes uno con efecto fade y otro sin en el foro de Javascript en Foros del Web. Hola amigos, Vereis tengo un codigo comet que esta consultando continuamente si se ingresa algo en la BD y despues lo muestra en un div, ...
  #1 (permalink)  
Antiguo 07/05/2012, 08:27
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
(comet) mostrar informacion en dos div diferentes uno con efecto fade y otro sin

Hola amigos,

Vereis tengo un codigo comet que esta consultando continuamente si se ingresa algo en la BD y despues lo muestra en un div, hasta aqui todo bien la cosa es que necesito mostrar informacin en dos div deferentes uno que esta oculto y que al pulsar el boton se muestra y otro que esta siempre visible. ahora mismo todo los muestra dentro del mismo con lo que al pulsar el boton se muestra toda la informacion pero me giustaria que las dos informaciones que recoge las mostrase en div separados.

Este es el codigo Javascript:

Código Javascript:
Ver original
  1. var xmlhttp = function()
  2.     {
  3.         var a;try{a = new XMLHttpRequest();}
  4.         catch(e){try{a = new ActiveXObject('Msxml2.XMLHTTP');}
  5.         catch(e){try{a = new ActiveXObject('Microsoft.XMLHTTP');}
  6.         catch(e){alert('Your browser doesn\'t support ajax');a=false;}
  7.         }}return a;                                            
  8.     };
  9.        
  10.          
  11.          
  12.     window.onload = function()
  13.     {
  14.         var a = new comet();
  15.        
  16.     };  
  17.        
  18.        
  19.     var comet = function()
  20.     {
  21.         var a = new xmlhttp();
  22.         a.open('post',window.location+"?"+Math.random()+"="+Math.random(), true);
  23.         a.setRequestHeader('Content-Type','application/x-www-form-urlencoded');
  24.         a.onreadystatechange = function()
  25.         {
  26.             if(a.readyState == 4)
  27.             {
  28.                 document.getElementById('content').innerHTML = a.responseText;
  29.                 window.setTimeout(function(){
  30.                     a = new comet();                    
  31.                 },1000);
  32.                
  33.             }
  34.         };                                 
  35.         a.send('algo=algo');                
  36.     };


Este es el php donde podeis ver dos consultas la 1º muestra las noticias y la segunda el numero que encuentra, esto es lo que quiero que este separado en div, las noticias en el oculto que al pulsar muestra y el numero de noticias siempre visible:


Código PHP:
if($_POST)   



    
set_time_limit(0);     

    
sleep(1);  
    
session_start(); 

    if (!
$conexion)
      {
      die(
'Could not connect: ' mysql_error());
      }

    
mysql_select_db("esfera10_rss"$conexion);



     
$notificaciones "select * from ".$_SESSION['Categoria'].'_noticias'." where id_noticia > '".$_SESSION["f"]."' order by id_noticia desc";                 
     
$notificaciones mysql_query($notificaciones$conexion); 


          while(
$rs=mysql_fetch_array($notificaciones))  
            {  

                echo 
$rs['titulo'].'<br>';        
                                                                                                                                      
                        }


    
mysql_select_db("esfera10_rss"$conexion);
    
$sql mysql_query("select * from ".$_SESSION['Categoria'].'_noticias'." where id_noticia > '".$_SESSION["f"]."' order by id_noticia desc",$conexion);
    
$cuenta mysql_num_rows($sql);
    echo 
$cuenta;
            
    
mysql_close($conexion);    
    exit();
        


y por ultimo el div y el link que llama a la funcion javascritp que muestra el div:


Código Javascript:
Ver original
  1. <script type="text/javascript">
  2. function appearFromInvisible() {
  3. $('content').setOpacity(0);
  4. $('content').setStyle({visibility: 'visible'});
  5. new Effect.Opacity(
  6.    'content', {
  7.       from: 0.0,
  8.       to: 1.0,
  9.       duration: 1.0
  10.    }
  11. );
  12. }
  13. </script>


echo '<div id="content" style="visibility: hidden; width:100%;">';


echo 'Cargando...';


echo '</div>';

?>

<a href="javascript:void(0)" onclick="appearFromInvisible(); return false;">Ver noticias</a>


Bueno amigos un saludo y mil gracias de antemano

Última edición por franjgg; 07/05/2012 a las 08:39
  #2 (permalink)  
Antiguo 07/05/2012, 12:41
Avatar de maycolalvarez
Colaborador
 
Fecha de Ingreso: julio-2008
Ubicación: Caracas
Mensajes: 12.120
Antigüedad: 16 años, 3 meses
Puntos: 1532
Respuesta: (comet) mostrar informacion en dos div diferentes uno con efecto fade y ot

1 - eso no es comet, es ajax longpolling
2 - de igual forma debe verificar ajax.status==200
3 - deberia añadir los efectos en la línea que corresponde a:

document.getElementById('content').innerHTML = a.responseText;
__________________
¡Por favor!: usa el highlight para mostrar código
El que busca, encuentra...
  #3 (permalink)  
Antiguo 07/05/2012, 17:17
 
Fecha de Ingreso: marzo-2007
Mensajes: 751
Antigüedad: 17 años, 8 meses
Puntos: 4
Respuesta: (comet) mostrar informacion en dos div diferentes uno con efecto fade y ot

Hola maycolalvarez

Si añado los efectos en esa linea al hacer el setTimeout los repite indefinidamente con lo que no funciona como deseo, lo que necesitaria es mostrar los datos de las dos consultas en div separados para poder poner el efecto en uno y no en el otro.


Un saludo y gracias amigo

Etiquetas: ajax, efecto, fade, funcion, html, informacion, php, botones
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 15:35.