Hola, después de mucho buscar en el foro, no he encontrado lo que busco, ni por google, lo que no quiere decir que no esté, pero no lo encuentro.
Me gustaría introducir en mi web (que cuando la suba en un hosting de pago, os la pongo para que me la critiquéis) un contador regresivo hasta una fecha, es decir: un calendario que en lugar de marcar la fecha actual, marque lo que falta hasta determinado día(30 de Mayo de 2009, para ser exactos)
Gracias Yaneth, estos dos ya los probé, y no hacían lo que yo quería. Volveré a ponerlos, a ver si es que cometí algun error, y digo algo. Mil gracias.
Espera, espera. Yaneth, creo que me he saltado lo más importante de tu respuesta: PHP o Java ¿? No entiendo del todo bien esto. Quiero poner en mi index.html el dichoso contador. ¿Puedo hacer copy-paste de los códigos que hay en el enlace que me pasaste?
haber, copia esto en donde quieras que aparezca, no se si te gustará porque es muy sencillo. <script>
/* Count down until any date script- By JavaScript Kit (www.javascriptkit.com) Over 200+ free scripts here! */
//change the text below to reflect your own, var before='Año 2008' var current='Ya estamos en el año 2008!' var montharray=new Array('Jan','Feb','Mar','Apr','May','Jun','Jul','Aug','Sep','Oct','Nov','Dec')
function countdown(yr,m,d){ theyear=yr;themonth=m;theday=d var today=new Date() var todayy=today.getYear() if (todayy < 1000) todayy+=1900 var todaym=today.getMonth() var todayd=today.getDate() var todayh=today.getHours() var todaymin=today.getMinutes() var todaysec=today.getSeconds() var todaystring=montharray+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec futurestring=montharray[m-1]+" "+d+", "+yr dd=Date.parse(futurestring)-Date.parse(todaystring) dday=Math.floor(dd/(60*60*1000*24)*1) dhour=Math.floor((dd%(60*60*1000*24))/(60*60*1000)*1) dmin=Math.floor(((dd%(60*60*1000*24))%(60*60*1000))/(60*1000)*1) dsec=Math.floor((((dd%(60*60*1000*24))%(60*60*1000))%(60*1000))/1000*1) if(dday==0&&dhour==0&&dmin==0&&dsec==1){ document.forms.count.count2.value=current return } else document.forms.count.count2.value=""+dday+ " dias, "+dhour+" horas, "+dmin+" minutos, y "+dsec+" segundos faltan para "+before setTimeout("countdown(theyear,themonth,theday)",1000) } //escribe la fecha hasta la cuenta en formato año/mes/dia countdown(2008,01,01) </script>
lo que esta en rojo es lo que puedes variar, lo primero para poner ...faltan no se ke para...aqui lo primero en rojo en este caso 2009, luego lo otro es para poner lo que ponga cuando llege, y lo último para poner la fecha en ese formato la fecha hasta que quieres que cuente, donde pone falta para puedes cambiarlo y poner... yo que se quedan o otra cosa.
que extraño a mí me salía perfecto en mozilla e internet xplorer pero ahor no me sale nada, seguire buscando. Yaneth podrías explicarnos como hacer esto con java o php? esque no tengo idea de ninguno de los dos (salvo por los foros php, jeje)
Bueno, algo he encontrado. Solo un problema; yo de Inglés, poco. Así que el problema que ahora surge es el del idioma, pues creo que las instrucciones que vienen en esta web http://dynamicdrive.com/dynamicindex6/dhtmlcount.htm son las buenas. De echo, he copiado el codigo y me salen 2 contadores, solo que no se donde configurarlos para que salga la fecha que auiero (30-5-2009)
Os pongo la maldita cuenta regresiva, no veáis lo que me ha costado hacerla. Estaré encantado de indicarle a quién quiera lo que hay que modificar para ajustar la fecha de la cuenta, y los mensajes a mostrar.
Solo una pregunta: ¿Como carajo la alineo a la derecha?
<style style="text/css";>
.lcdstyle{ /*Example CSS to create LCD countdown look*/ background-color:black; color:#FFD700; font: bold 16px MS Sans Serif; padding: 3px; }
function cdtime(container, targetdate){ if (!document.getElementById || !document.getElementById(container)) return this.container=document.getElementById(container) this.currentTime=new Date() this.targetdate=new Date(targetdate) this.timesup=false this.updateTime() }
cdtime.prototype.updateTime=function(){ var thisobj=this this.currentTime.setSeconds(this.currentTime.getSeconds()+1) setTimeout(function(){thisobj.updateTime()}, 1000) //update time every second }
cdtime.prototype.showresults=function(){ var thisobj=this
var timediff=(this.targetdate-this.currentTime)/1000 //difference btw target date and current date, in seconds if (timediff<0){ //if time is up this.timesup=true this.container.innerHTML=this.formatresults() return } var oneMinute=60 //minute unit in seconds var oneHour=60*60 //hour unit in seconds var oneDay=60*60*24 //day unit in seconds var dayfield=Math.floor(timediff/oneDay) var hourfield=Math.floor((timediff-dayfield*oneDay)/oneHour) var minutefield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour)/oneMinute) var secondfield=Math.floor((timediff-dayfield*oneDay-hourfield*oneHour-minutefield*oneMinute)) if (this.baseunit=="hours"){ //if base unit is hours, set "hourfield" to be topmost level hourfield=dayfield*24+hourfield dayfield="n/a" } else if (this.baseunit=="minutes"){ //if base unit is minutes, set "minutefield" to be topmost level minutefield=dayfield*24*60+hourfield*60+minutefield dayfield=hourfield="n/a" } else if (this.baseunit=="seconds"){ //if base unit is seconds, set "secondfield" to be topmost level var secondfield=timediff dayfield=hourfield=minutefield="n/a" } this.container.innerHTML=this.formatresults(dayfield, hourfield, minutefield, secondfield) setTimeout(function(){thisobj.showresults()}, 1000) //update results every second }
//Create your own custom format function to pass into cdtime.displaycountdown() //Use arguments[0] to access "Days" left //Use arguments[1] to access "Hours" left //Use arguments[2] to access "Minutes" left //Use arguments[3] to access "Seconds" left
//The values of these arguments may change depending on the "baseunit" parameter of cdtime.displaycountdown() //For example, if "baseunit" is set to "hours", arguments[0] becomes meaningless and contains "n/a" //For example, if "baseunit" is set to "minutes", arguments[0] and arguments[1] become meaningless etc
function formatresults(){ if (this.timesup==false){//if target date/time not yet met var displaystring=arguments[0]+" days "+arguments[1]+" hours "+arguments[2]+" minutes "+arguments[3]+" seconds left until May 30, 2009 08:00:00" } else{ //else if target date/time met var displaystring="Future date is here!" } return displaystring }
function formatresults2(){ if (this.timesup==false){ //if target date/time not yet met var displaystring="<span class='lcdstyle'>"+arguments[0]+" <sup>Días</sup> "+arguments[1]+" <sup>horas</sup> "+arguments[2]+" <sup>minutos y</sup> "+arguments[3]+" <sup>segundos</sup></span> ¡¡Para Los Coros!!" } else{ //else if target date/time met var displaystring="" //Don't display any text alert("¡Todos a la calle! Ya llegaron Los Coros") //Instead, perform a custom alert } return displaystring }
</script> <body>
<div id="countdowncontainer"></div>
<div id="countdowncontainer2"></div>
<script type="text/javascript">
var currentyear=new Date().getFullYear() //dynamically get this Christmas' year value. If Christmas already passed, then year=current year+1 var thischristmasyear=(new Date().getMonth()>=5 && new Date().getDate()>30)? currentyear+1 : currentyear var christmas=new cdtime("countdowncontainer2", "May 30,"+"2009"+" 8:00:00") christmas.displaycountdown("days", formatresults2)
Cookies
Usamos cookies necesarias y, si lo autorizas, Google Analytics. Puedes cambiar tu elección cuando quieras.