Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2006, 10:09
Avatar de karmish
karmish
 
Fecha de Ingreso: mayo-2006
Mensajes: 272
Antigüedad: 18 años, 9 meses
Puntos: 1
Programar boton

Saludos:
Tengo un pequeño problema. Yo encontre este codigo para mostrar una secuensia de fotos, el probla es que cuando una persona presiona el boton play este aumenta la velocidad del intercambio de las imagenes (la velocidad aumenta n veces siendo n la cantidad de veces que se preciono el boton), y para poder detener la imagen hay que precionar el boton de pausa la misma cantidad de veces que se preciono el boton de play.
Ahora, la consulta es como programo, para que el boton play no pueda ser precionado asta el momento que se precione el boton stop.

Código:
<script language="JavaScript">
<!-- 
var interval = 3000; 
var random_display = 0;
var image_dir = "admin/galerias/"
var ImageNum = 0;
imageArray = new Array();
<%
Do while not rs4.EOF
  If Not rs4.EOF Then%> 
imageArray[ImageNum++] = new imageItem(image_dir + "<%=rs4.Fields("foto").value%>");
<%rs4.MoveNext
  End If
  Loop
%>

var number_of_image = imageArray.length;
function imageItem(image_location) {
this.image_item = new Image();
this.image_item.src = image_location;
}
function get_ImageItemLocation(imageObj) {
return(imageObj.image_item.src)
}
function randNum(x, y) {
var range = y - x + 1;
return Math.floor(Math.random() * range) + x;
}
function getNextImage() {
if (random_display) {
ImageNum = randNum(0, number_of_image-1);
}
else {
ImageNum = (ImageNum+1) % number_of_image;
}
var new_image = get_ImageItemLocation(imageArray[ImageNum]);
return(new_image);
}

function getPrevImage() {
ImageNum = (ImageNum-1) % number_of_image;
var new_image = get_ImageItemLocation(imageArray[ImageNum]);
return(new_image);
}

function prevImage(place) {
var new_image = getPrevImage();
document[place].src = new_image;
}

function rotateImage(place) {
var new_image = getNextImage();
document[place].src = new_image;
var recur_call = "rotateImage('"+place+"')";
timerID = setTimeout(recur_call, interval);
}


//   -->
</script>

<body onLoad="rotateImage('rImage')">

<td width="307" height="230" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                                <!--DWLayoutTable-->
                                <tr> 
                                  <td width="307" height="230" align="center" valign="middle"><img name="rImage" src="admin/casas/<%=rs.Fields("foto").value%>" width="300" height="225"></td>
                                </tr>
                              </table></td>
<tr> 
                            <td rowspan="2" valign="top"><table width="100%" border="0" cellpadding="0" cellspacing="0">
                                <!--DWLayoutTable-->
                                <tr> 
                                  <td width="145" height="51" align="center" valign="middle"><a href="#" onClick="rotateImage('rImage');MM_showHideLayers('Layer1','','show')"><img src="images/play.jpg" alt="Play" width="32" height="32" border="0"></a></td>
                                  <td width="108" align="center" valign="middle"><a href="#" onClick="clearTimeout(timerID);MM_showHideLayers('Layer1','','hide')"><img src="images/stop.jpg" alt="Stop" width="32" height="32" border="0"></a></td>
                                  <td width="54">&nbsp;</td>
                                </tr>
                              </table></td>
</tr>
Espero que alguien pueda alludarme porque en cuanto a programacion de javascript no tengo idea, solo nociones basicas como para poder modificarlos un poco.
Muchas gracias masters y prodigios que me alluden en esta causa.