Bienvenido, Invitado
Nombre de Usuario Contraseña: Recordarme

Rotador de modulos
(1 viendo) (1) Invitado
  • Página:
  • 1

TEMA: Rotador de modulos

Rotador de modulos hace 1 año, 7 meses #15937

Hola, estoy buscando un rotador de modulos y los unicos que veo son de Banners o Slogans.

El tema esque tengo varios modulos HTML personalizados y me gustaria que rotanaran en una misma posición cada x tiempo.

¿conoceis alguno que sirva o sabeis como hacerlo?

Gracias de antemano.
  • Mizunga
  • DESCONECTADO
  • Colaborador
  • Temas: 461
  • Karma: 28
Unete a la www.euroviajar.com/viajeros.html - Comunidad de Viajeros" y participa en el www.euroviajar.com/foros/5-londres.html - Foro Londres

Re: Rotador de modulos hace 1 año, 7 meses #15946

Te digo como hacer el tuyo propio:

1. Tienes que poner todos los módulos html personalizados en uno (usa mod_frahtml, se necesitará incluir <scripts>
2. Pon cada HTML en un div con un id, por ejemplo:
<div id="rotador_1">
<div class="rotador_titulo">COSA 1</div>
<div class="rotador_contenido">Info 1</div>
</div>
 
<div id="rotador_2" style="display:none">
<div class="rotador_titulo">COSA 2</div>
<div class="rotador_contenido">Info 2</div>
</div>
 
<div id="rotador_3" style="display:none">
<div class="rotador_titulo">COSA 3</div>
<div class="rotador_contenido">Info 3</div>
</div>

3. Añades el script al final:
<script type="text/javascript">
rotador_segundos = 5; //cada cuantos segundos rotar
rotador_maximo = 3; //ultimo id
 
var rotador_id = 1;
setInterval(function() {
rotador_id++;
if (rotador_id > rotador_maximo) rotador_id = 1;
for (var i=1; i<=rotador_maximo; i++)
document.getElementById("rotador_"+i).style.display = (i == rotador_id) ? '' : 'none';
}, rotador_segundos*1000);
</script>

4. Lo configuras a tu gusto
5. Personalizas el css

Cuéntame qué tal
  • JoniJnm
  • DESCONECTADO
  • Administrador
  • Temas: 4167
  • Karma: 144

Re: Rotador de modulos hace 1 año, 7 meses #15971

Funciona perfecto para lo que dije, el unico problema que se me olvido decirte que lo iba a utilizar para rotar cada 2, 3 o 24 horas etc... y que al refrescar el usuario vuelve al asignado al ID=1.

¿existe solución para esto?
  • Mizunga
  • DESCONECTADO
  • Colaborador
  • Temas: 461
  • Karma: 28
Unete a la www.euroviajar.com/viajeros.html - Comunidad de Viajeros" y participa en el www.euroviajar.com/foros/5-londres.html - Foro Londres

Re: Rotador de modulos hace 1 año, 7 meses #15978

Si quieres que cada día cambie y que al actualizar se ponga en el ID 1 siempre estará en el 1, no? No va a dejar el usuario un día entero la página.

Si lo que quieres es que cada día se muestre un id, entonces necesitas guardar en la base de datos en cuál estás:
tabla jos_rotador
id: int 1
time: int 12
<?php
 
$tiempo = 60*60*24; //cambiar cada 24 horas
$ids = 3; //número de ids en el módulo
 
$db->setQuery("SELECT id,time FROM #__rotador LIMIT 1"); //sólo habrá una entrada con el ID del módulo a mostrar y el tiempo cuando se cambió
$obj = $db->loadObject();
if (!$obj) { //aún no se ha insertado nada en la base de datos
$db->setQuery('INSERT INTO #__rotador (id, time) VALUES (1, '.time().')'); //insertar ID 1 y el tiempo ahora
$obj = (object)array('id'=>1, 'time'=>time());
}
if (time()-$obj->time > $tiempo) { //si ha pasado mas de 24 horas
$id = $obj->id;
$obj->id++; //actualizar el id
if ($obj->id > $ids) $obj->id = 1;
$db->setQuery('UPDATE #__rotador SET id='.$obj->id.', time='.time().' WHERE id='.$id); //actualizar el id y el tiempo
}
 
if ($obj->id == 1) { ?>
<div id="rotador_1">
<div class="rotador_titulo">COSA 1</div>
<div class="rotador_contenido">Info 1</div>
</div>
<?php } elseif ($obj->id == 2) { ?>
<div id="rotador_2"<?php if ($obj->id != 2) echo ' style="display:none"'; ?>>
<div class="rotador_titulo">COSA 2</div>
<div class="rotador_contenido">Info 2</div>
</div>
<?php } elseif ($obj->id == 3) { ?>
<div id="rotador_3"<?php if ($obj->id != 3) echo ' style="display:none"'; ?>>
<div class="rotador_titulo">COSA 3</div>
<div class="rotador_contenido">Info 3</div>
</div>
<?php } ?>
<!-- El script no hace falta -->
  • JoniJnm
  • DESCONECTADO
  • Administrador
  • Temas: 4167
  • Karma: 144
Última Edición: hace 1 año, 7 meses Por JoniJnm.
  • Página:
  • 1
Página generada en: 0.92 segundos