Foros del Web » Programando para Internet » Javascript »

duplicar javascript para que no se pise

Estas en el tema de duplicar javascript para que no se pise en el foro de Javascript en Foros del Web. Buenas compañeros, mi idea es hacer en una misma pantalla, tres relojes digitales que vallan cambiando. Cada reloj pertenece a una zona horaria distinta. y ...
  #1 (permalink)  
Antiguo 03/09/2009, 10:43
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Pregunta duplicar javascript para que no se pise

Buenas compañeros, mi idea es hacer en una misma pantalla, tres relojes digitales que vallan cambiando. Cada reloj pertenece a una zona horaria distinta. y mi código es este:

Código HTML:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />
<title>Untitled Document</title>
<?php
date_default_timezone_set("America/Buenos_Aires");
 
     $date1= date("F d, Y H:i:s", time());
	 
date_default_timezone_set("America/New_York");
 
     $date2= date("F d, Y H:i:s", time());	 
	 
date_default_timezone_set("America/Los_Angeles");
 
     $date3= date("F d, Y H:i:s", time());	 
?>

<script type="text/javascript">

/***********************************************
* Local Time script- © Dynamic Drive (http://www.dynamicdrive.com)
* This notice MUST stay intact for legal use
* Visit http://www.dynamicdrive.com/ for this script and 100s more.
***********************************************/

var weekdaystxt=["Sun", "Mon", "Tues", "Wed", "Thurs", "Fri", "Sat"]

function showLocalTime(container, servermode, offsetMinutes, displayversion){
if (!document.getElementById || !document.getElementById(container)) return
this.container=document.getElementById(container)
this.displayversion=displayversion
var servertimestring=(servermode=="server-php")? '<? print $date1;?>' : (servermode=="server-ssi")? '<!--#config timefmt="%B %d, %Y %H:%M:%S"--><!--#echo var="DATE_LOCAL" -->' : '<%= Now() %>'
this.localtime=this.serverdate=new Date(servertimestring)
this.localtime.setTime(this.serverdate.getTime()+offsetMinutes*60*1000) //add user offset to server time
this.updateTime()
this.updateContainer()
}

showLocalTime.prototype.updateTime=function(){
var thisobj=this
this.localtime.setSeconds(this.localtime.getSeconds()+1)
setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second
}

showLocalTime.prototype.updateContainer=function(){
var thisobj=this
if (this.displayversion=="long")
this.container.innerHTML=this.localtime.toLocaleString()
else{
var hour=this.localtime.getHours()
var minutes=this.localtime.getMinutes()
var seconds=this.localtime.getSeconds()
var ampm=(hour>=12)? "PM" : "AM"
var dayofweek=weekdaystxt[this.localtime.getDay()]
this.container.innerHTML=formatField(hour, 1)+":"+formatField(minutes)+":"+formatField(seconds)+" "+ampm+" ("+dayofweek+")"
}
setTimeout(function(){thisobj.updateContainer()}, 1000) //update container every second
}

function formatField(num, isHour){
if (typeof isHour!="undefined"){ //if this is the hour field
var hour=(num>12)? num-12 : num
return (hour==0)? 12 : hour
}
return (num<=9)? "0"+num : num//if this is minute or sec field
}

</script>


</head>

<body>



Current Server Time:<span id="timecontainer"></span><br />
Current LA Time:<span id="timecontainer2"></span><br />
Current New York Time:<span id="timecontainer3"></span><br />

<script type="text/javascript">
new showLocalTime("timecontainer", "server-php", 0, "short")
new showLocalTime("timecontainer2", "server-php", 0, "short")
new showLocalTime("timecontainer3", "server-php", 0, "short")
</script>


</body>
</html> 

Mi pregunta es, como tengo que duplicar el codigo javascript para que no se pisen y asi poner los correspondientes relojes, ...??? he probado a cambiar cada palabra pero no he conseguido nada de nada. No se como modificar eso...
Este post lo he puesto en php, pero creo que este tema es más bien de este foro. Por si queréis borrar el otro... siento la confusión, de veras.

Alguien podría ayudarme porfavor????
  #2 (permalink)  
Antiguo 04/09/2009, 03:53
Avatar de susaninhax  
Fecha de Ingreso: noviembre-2004
Mensajes: 358
Antigüedad: 19 años, 5 meses
Puntos: 3
Respuesta: duplicar javascript para que no se pise

buenas gente,

alguna alma caritativa que me pueda dar una pista aunque sea de como duplicar el javascript de mi ejemplo, para que no se pise uno con el otro???? si es porque me he explicado mal, decirmelo porfavor y lo intentaré de nuevo. gracias de antemano.
  #3 (permalink)  
Antiguo 04/09/2009, 18:04
Avatar de uselox  
Fecha de Ingreso: agosto-2008
Ubicación: Lima, Perú
Mensajes: 168
Antigüedad: 15 años, 7 meses
Puntos: 12
Respuesta: duplicar javascript para que no se pise

no revise muy bien tu codigo ya que estoy por salir, lo que pienso es que tienes que crear un objeto eh instanciar un nuevo reloj(variables privadas), seguro que hay variables globales que estan afectando.

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 13:15.