Foros del Web » Programando para Internet » Javascript »

evitar visor de imagenes regrese al primero

Estas en el tema de evitar visor de imagenes regrese al primero en el foro de Javascript en Foros del Web. Buenas tardes tengo el siguiente codigo, para mostrar imagenes de una carpeta Código: <SCRIPT LANGUAGE="JavaScript"> var rotate_delay = 5000; current = 0; function next() { ...
  #1 (permalink)  
Antiguo 21/01/2012, 13:45
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 15 años, 2 meses
Puntos: 0
Pregunta evitar visor de imagenes regrese al primero

Buenas tardes tengo el siguiente codigo, para mostrar imagenes de una carpeta

Código:
<SCRIPT LANGUAGE="JavaScript">
var rotate_delay = 5000;
current = 0;
function next() {
if (document.slideform.slide[current+1]) {
document.images.show.src = document.slideform.slide[current+1].value;
document.slideform.slide.selectedIndex = ++current;
   }
else first();
}
function previous() {
if (current-1 >= 0) {
document.images.show.src = document.slideform.slide[current-1].value;
document.slideform.slide.selectedIndex = --current;
   }
else last();
}
function first() {
current = 0;
document.images.show.src = document.slideform.slide[0].value;
document.slideform.slide.selectedIndex = 0;
}
function last() {
current = document.slideform.slide.length-1;
document.images.show.src = document.slideform.slide[current].value;
document.slideform.slide.selectedIndex = current;
}
function ap(text) {
document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop";
rotate();
}
function change() {
current = document.slideform.slide.selectedIndex;
document.images.show.src = document.slideform.slide[current].value;
}
function rotate() {
if (document.slideform.slidebutton.value == "Stop") {
current = (current == document.slideform.slide.length-1) ? 0 : current+1;
document.images.show.src = document.slideform.slide[current].value;
document.slideform.slide.selectedIndex = current;
window.setTimeout("rotate()", rotate_delay);
   }
}
//  End -->
</script>
y uso los siguiente botones para pasarlas

Código:
<input type=button onClick="previous();" value="Anterior" title="Previous" class="button">
          <input type=button onClick="next();" value="Siguiente" title="Next" class="button">
mi problema es que teniendo por ejemplo 10 imagenes

1
2
3
4
....
10

al llegar al 10 le vuelve uno a dar clic en el boton de siguiente y regresa de nuevo a la 1, que tendria que hacer para evitar ese problema y que al llegar al final no brinque de nuevo al comienzo.


de antemano muchas gracias por su ayuda
  #2 (permalink)  
Antiguo 21/01/2012, 16:52
Avatar de zerokilled
Javascripter
 
Fecha de Ingreso: abril-2009
Ubicación: Isla del Encanto, La Borinqueña [+>==]
Mensajes: 8.050
Antigüedad: 15 años, 6 meses
Puntos: 1485
Respuesta: evitar visor de imagenes regrese al primero

buenas...
analiza el código, específicamente las funciones last y first. estas funciones son invocadas cuando el índice se sale del rango y se encargan de "dar la vuelta" cuando se encuentra el límite. lo que debes hacer es muy simple. cuando el índice llega a uno de los dos extremos, no debes modificar el índice -restar o sumar- y saltar el resto del proceso.
__________________
la maldad es una virtud humana,
y la espiritualidad es la lucha del hombre contra su maldad.
  #3 (permalink)  
Antiguo 21/01/2012, 17:05
Avatar de madhatterdef  
Fecha de Ingreso: diciembre-2011
Ubicación: argentina
Mensajes: 213
Antigüedad: 12 años, 11 meses
Puntos: 59
Respuesta: evitar visor de imagenes regrese al primero

prueba así si no funciona dime y tratare de ayudarte
PD si no funciona dime los pasos para poder probarlo y el resto del código

Código:
<SCRIPT LANGUAGE="JavaScript"> var rotate_delay = 5000; current = 0; function next() { document.images.show.src = document.slideform.slide[current+1].value; document.slideform.slide.selectedIndex = ++current; }

function previous() { document.images.show.src = document.slideform.slide[current-1].value; document.slideform.slide.selectedIndex = --current; }  function ap(text) { document.slideform.slidebutton.value = (text == "Stop") ? "Start" : "Stop"; rotate(); }

function change() { current = document.slideform.slide.selectedIndex; document.images.show.src = document.slideform.slide[current].value; }

function rotate() { if (document.slideform.slidebutton.value == "Stop") { current = (current == document.slideform.slide.length-1) ? 0 : current+1; document.images.show.src = document.slideform.slide[current].value; document.slideform.slide.selectedIndex = current; window.setTimeout("rotate()", rotate_delay); } } //  End --> </script>
  #4 (permalink)  
Antiguo 23/01/2012, 09:20
Avatar de mazaku  
Fecha de Ingreso: septiembre-2009
Ubicación: Veracruz
Mensajes: 104
Antigüedad: 15 años, 2 meses
Puntos: 0
Respuesta: evitar visor de imagenes regrese al primero

Muchas gracias por su ayuda, madhatterdef me ha funcionado muy bien el codigo se agradece la ayuda

Etiquetas: imagenes, input, primero, visor, 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 10:27.