Foros del Web » Programando para Internet » Javascript »

Help_My

Estas en el tema de Help_My en el foro de Javascript en Foros del Web. saludos amig@. me gustaría saber cómo es posible que este script, diseñado para mostrar un reloj analógico deslizante, deje de desplazarce. script: Código: <!-- Colocar ...
  #1 (permalink)  
Antiguo 21/01/2007, 17:36
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Exclamación Help_My

saludos amig@.

me gustaría saber cómo es posible que este script, diseñado para mostrar un reloj analógico deslizante, deje de desplazarce.
script:

Código:
<!-- Colocar en la etiqueta <HEAD> -->

<script language="JavaScript">

//Static analog Clock by [email protected]

fCol='000000';//face colour.
sCol='ff0000';//seconds colour.
mCol='000000';//minutes colour.
hCol='000000';//hours colour.


H='....';
H=H.split('');
M='.....';
M=M.split('');
S='......';
S=S.split('');
Ypos=0;
Xpos=0;
Ybase=8;
Xbase=8;
dots=12;
ns=(document.layers)?1:0;
if (ns){
dgts='1 2 3 4 5 6 7 8 9 10 11 12';
dgts=dgts.split(' ')
for (i=0; i < dots; i++){
document.write('<layer name=nsDigits'+i+' top=0 left=0 height=30 width=30><center><font face=Arial,Verdana size=1 color='+fCol+'>'+dgts[i]+'</font></center></layer>');
}
for (i=0; i < M.length; i++){
document.write('<layer name=ny'+i+' top=0 left=0 bgcolor='+mCol+' clip="0,0,2,2"></layer>');
}
for (i=0; i < H.length; i++){
document.write('<layer name=nz'+i+' top=0 left=0 bgcolor='+hCol+' clip="0,0,2,2"></layer>');
}
for (i=0; i < S.length; i++){
document.write('<layer name=nx'+i+' top=0 left=0 bgcolor='+sCol+' clip="0,0,2,2"></layer>');
}
}
else{
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=1; i < dots+1; i++){
document.write('<div id="ieDigits" style="position:absolute;top:0px;left:0px;width:30px;height:30px;font-family:Arial,Verdana;font-size:10px;color:'+fCol+';text-align:center;padding-top:10px">'+i+'</div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < M.length; i++){
document.write('<div id=y style="position:absolute;width:2px;height:2px;font-size:2px;background:'+mCol+'"></div>');
}
document.write('</div></div>')
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < H.length; i++){
document.write('<div id=z style="position:absolute;width:2px;height:2px;font-size:2px;background:'+hCol+'"></div>');
}
document.write('</div></div>')
document.write('<div style="position:absolute;top:0px;left:0px"><div style="position:relative">');
for (i=0; i < S.length; i++){
document.write('<div id=x style="position:absolute;width:2px;height:2px;font-size:2px;background:'+sCol+'"></div>');
}
document.write('</div></div>')
}
function clock(){
time = new Date ();
secs = time.getSeconds();
sec = -1.57 + Math.PI * secs/30;
mins = time.getMinutes();
min = -1.57 + Math.PI * mins/30;
hr = time.getHours();
hrs = -1.57 + Math.PI * hr/6 + Math.PI*parseInt(time.getMinutes())/360;
if (ns){
Ypos=window.pageYOffset+window.innerHeight-60;
Xpos=window.pageXOffset+window.innerWidth-80;
}
else{
Ypos=document.body.scrollTop+window.document.body.clientHeight-60;
Xpos=document.body.scrollLeft+window.document.body.clientWidth-60;
}
if (ns){
for (i=0; i < dots; ++i){
 document.layers["nsDigits"+i].top=Ypos-5+40*Math.sin(-0.49+dots+i/1.9);
 document.layers["nsDigits"+i].left=Xpos-15+40*Math.cos(-0.49+dots+i/1.9);
 }
for (i=0; i < S.length; i++){
 document.layers["nx"+i].top=Ypos+i*Ybase*Math.sin(sec);
 document.layers["nx"+i].left=Xpos+i*Xbase*Math.cos(sec);
 }
for (i=0; i < M.length; i++){
 document.layers["ny"+i].top=Ypos+i*Ybase*Math.sin(min);
 document.layers["ny"+i].left=Xpos+i*Xbase*Math.cos(min);
 }
for (i=0; i < H.length; i++){
 document.layers["nz"+i].top=Ypos+i*Ybase*Math.sin(hrs);
 document.layers["nz"+i].left=Xpos+i*Xbase*Math.cos(hrs);
 }
}
else{
for (i=0; i < dots; ++i){
 ieDigits[i].style.pixelTop=Ypos-15+40*Math.sin(-0.49+dots+i/1.9);
 ieDigits[i].style.pixelLeft=Xpos-14+40*Math.cos(-0.49+dots+i/1.9);
 }
for (i=0; i < S.length; i++){
 x[i].style.pixelTop =Ypos+i*Ybase*Math.sin(sec);
 x[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(sec);
 }
for (i=0; i < M.length; i++){
 y[i].style.pixelTop =Ypos+i*Ybase*Math.sin(min);
 y[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(min);
 }
for (i=0; i < H.length; i++){
 z[i].style.pixelTop =Ypos+i*Ybase*Math.sin(hrs);
 z[i].style.pixelLeft=Xpos+i*Xbase*Math.cos(hrs);
 }
}
setTimeout('clock()',50);
}
if (document.layers || document.all) window.onload=clock;
//-->
</script>

Última edición por tunait; 23/01/2007 a las 13:28 Razón: Meter código en bbcode
  #2 (permalink)  
Antiguo 22/01/2007, 15:16
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Help_My

Bueno, primero comentarte que ese script no me ha funcionado en FF.

Para que no "se mueva", solo tienes que comentar el setTimeout de casi la última línea, y dejará de moverse.

... y un tirón de orejas por el asunto...
http://www.forosdelweb.com/announcement.php?f=13
Cita:
Utiliza un título descriptivo de tu problema para tu mensaje. Títulos como "Urgente!!!", "Ayuda por favor!!!" o "Solo expertos!" no ayudarán mucho a que nadie se anime a entrar a leer tu problema.

un saludo
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #3 (permalink)  
Antiguo 22/01/2007, 16:40
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Help_My

saludos colega, agradezco tu ayuda, pero bueno debo decirte que cuando me refería a detener, no quise decir que se detubiera la marchar del reloj, que se parara. me refería a cómo evitar que que cuando el usuario de desplaza por la pág (arriba y abajo meidante la barra de desplazamiento ) el reloj (en marchar) no se desplazara también (de arriba abajo).
bueno nada, que te agradecería nuevamente si supieras cómo evitar esto.
--Eduart
  #4 (permalink)  
Antiguo 22/01/2007, 17:44
Avatar de derkenuke
Colaborador
 
Fecha de Ingreso: octubre-2003
Ubicación: self.location.href
Mensajes: 2.665
Antigüedad: 20 años, 6 meses
Puntos: 45
Re: Help_My

Ah, no había entendido bien:

Si te fijas en estas líneas:
Código PHP:
if (ns){
Ypos=window.pageYOffset+window.innerHeight-60;
Xpos=window.pageXOffset+window.innerWidth-80;
}
else{
Ypos=document.body.scrollTop+window.document.bodyclientHeight-60;
Xpos=document.body.scrollLeft+window.document.body .clientWidth-60;

Se ve que coloca el reloj en el borde inferior de la pantalla, y además suma todo lo que hayamos scrolleado (scroll* o page*Offset). Si quitas ese sumando de la operación creo yo que habrás conseguido lo que te propones.
__________________
- Haz preguntas inteligentes, y obtendrás más y mejores respuestas.
- Antes de postearlo Inténtalo y Búscalo.
- Escribe correctamente tus mensajes.
  #5 (permalink)  
Antiguo 23/01/2007, 12:51
 
Fecha de Ingreso: enero-2007
Mensajes: 4
Antigüedad: 17 años, 3 meses
Puntos: 0
Re: Help_My

saludos colega, gracias por la ayuda, debo decirte que realmente no tengo grandes conocimiento de eso, dedico la mayor parte de mi tiempo a la gráfica digital. pero tengo interés en aprender sobre programción para la WEB.
entonces Thank's amigo. espero entonces contar contigo.

--Eduart.
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 09:43.