webForumDet fria alternativet

Nedräknande klocka ?

ASP

16 svar · 1 024 visningar · startad av phazer23

Medlem sedan feb. 2001256 inlägg
Frågan#1

Har sökt i forumena för att hitta en nedräknande klocka. Exempelvis så skall den räkna ner från dagens datum till tex 3 dagar senare... Och den skall typ ticka i browserns så att säga...

Nån som vet ifall detta är möjligt .... Postar det i asp/vbforumet eftersom jag trro att det kräver åtminstone någon liten del asp ....

Medlem sedan nov. 200013 890 inlägg
#2

Eftersom ASP-koden körs på servern INNAN sidan skickas till användaren så måste du ladda om sidan hela tiden för att det ska se ut som att klockan "tickar".
Det bästa är nog att använda JavaScript. ;)

Medlem sedan feb. 2001256 inlägg
#3

Jo men ifall jag skulle vil´lja ha ett betämt slutdatum som skall kunna varieras så måste ju man använda asp ??? eller :.....

Medlem sedan juni 20006 022 inlägg
#4

Det går ju säkert att lösa med javascript eller dhtml, och du behöver inte asp.

Hur man gör vet jag däremot inte :)

Medlem sedan juni 200032 967 inlägg
#5
dteEndDate = DateAdd("d", 3, date)

Var det något sådant du tänkte på?

Medlem sedan nov. 200013 890 inlägg
#6

Vad säger du om det här?

http://www.jojoxx.net/jscript/archive/countdown3.html

Medlem sedan feb. 200112 078 inlägg
#7

Den koden jag hittade var för lång, så forumet tillät mig inte att klistra in skiten, kolla på www.dynamicdrive.com, de har ett bra sånt script.

Medlem sedan feb. 2001256 inlägg
#8

Jo det är nåt liknande det jag söker.. Men ifall jag vill hämta ett datum från en databas och räkna ner till dte datumet hur gör jag då.. Är inte så haj på js mot databaser.......

Medlem sedan nov. 200013 890 inlägg
#9

Det blir svårt att hämta information ur en databas med JavaScript. Du får använda ASP till det. Sedan är det bara att mata in vädet i JavaScriptet med en vanlig variabel.

Medlem sedan feb. 200112 078 inlägg
#10

allrighty then

Ok, här är iallfall scriptet. Lägg det i body:n (its gonna get messy ;)) och testa.

Kan du öppna en connecion mot en databas eller skall vi kasta med en sån också? Access antar jag?

<div>
<script language="JavaScript1.2">

/*
Dynamic countdown Script- © Dynamic Drive ([url]www.dynamicdrive.com[/url])
For full source code, 100's more DHTML scripts, and TOS,
visit [url]http://www.dynamicdrive.com[/url]
*/
function setcountdown(theyear,themonth,theday){
yr=theyear;mo=themonth;da=theday
} 

//////////CONFIGURE THE COUNTDOWN SCRIPT HERE//////////////////

//STEP 1: Configure the countdown-to date, in the format year, month, day:                                                                                                     
setcountdown(2002,04,25)                                                                                                                                                       

//STEP 2: Change the two text below to reflect the occasion, and message to display on that occasion, respectively                                                             
var occasion="händelsen"
var message_on_occasion="Nu händer det nåt!"

//STEP 3: Configure the below 5 variables to set the width, height, background color, and text style of the countdown area                                                     
var countdownwidth='370px'
var countdownheight='30px'
var countdownbgcolor='white'                                                                                                                                               
var opentags='<center><font face="Verdana" size="1"><small>'                                                                                                                                    
var closetags='</small></font></center>'  

//////////DO NOT EDIT PASS THIS LINE//////////////////                                                                                                                         

var montharray=new Array("Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec")                                                                              
var crosscount=''                                                                                                                                                              

function start_countdown(){                                                                                                                                                    
if (document.layers)                                                                                                                                                           
document.countdownnsmain.visibility="show"                                                                                                                                     
else if (document.all||document.getElementById)                                                                                                                                
crosscount=document.getElementById&&!document.all?document.getElementById("countdownie") : countdownie                                                                         
countdown()                                                                                                                                                                    
}                                                                                                                                                                              

if (document.all||document.getElementById)                                                                       
document.write('<span id="countdownie" style="width:'+countdownwidth+'; background-color:'+countdownbgcolor+';"></span>')                                                       

window.onload=start_countdown

function countdown(){
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[todaym]+" "+todayd+", "+todayy+" "+todayh+":"+todaymin+":"+todaysec
futurestring=montharray[mo-1]+" "+da+", "+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&&todayd==da){                                                                                                                           
if (document.layers){
document.countdownnsmain.document.countdownnssub.document.write(opentags+message_on_occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()
}
else if (document.all||document.getElementById)                                                                                                                                
crosscount.innerHTML=opentags+message_on_occasion+closetags                                                                                                                    
return                                                                                                                                                                         
}                                                                                                                                                                              
//if passed day of occasion                                                                                                                                                    
else if (dday<=-1){                                                                                                                                                            
if (document.layers){                                                                                                                                                          
document.countdownnsmain.document.countdownnssub.document.write(opentags+"Occasion already passed! "+closetags)                                                                
document.countdownnsmain.document.countdownnssub.document.close()                                                                                                              
}                                                                                                                                                                              
else if (document.all||document.getElementById)                                                                                                                                
crosscount.innerHTML=opentags+"Nu händer nåt! "+closetags                                                                                                            
return                                                                                                                                                                         
}                                                                                                                                                                              
//else, if not yet                                                                                                                                                             
else{                                                                                                                                                                          
if (document.layers){                                                                                                                                                          
document.countdownnsmain.document.countdownnssub.document.write(opentags+dday+ " dagar, "+dhour+" timmar, "+dmin+" minuter och "+dsec+" sekunder kvar till "+occasion+closetags)
document.countdownnsmain.document.countdownnssub.document.close()                                                                                                              
}
else if (document.all||document.getElementById)
crosscount.innerHTML=opentags+dday+ " dagar, "+dhour+" timmar, "+dmin+" minuter och "+dsec+" sekunder kvar till "+occasion+closetags
}
setTimeout("countdown()",1000)
}
</script>
<ilayer id="countdownnsmain" width=&{countdownwidth}; height=&{countdownheight}; bgColor=&{countdownbgcolor}; visibility=hide><layer id="countdownnssub" width=&{countdownwidth}; height=&{countdownheight}; left=0 top=0></layer></ilayer>

</div>

PS. Jag är ledsen för alla mellanslag i sidled, men jag orkar inte radera alla, det är ca 8500 tecken i scriptet. DS.

[editerat]Ändrade lite variablar[/editerat]

Medlem sedan feb. 2001256 inlägg
#11

Jo den kod du skrev in fattar jag ungeför hur den funkar.. Men vill alltså kunna hämta ett "targetdate" från en databas och den "riktiga" tiden från servern och itne från användarens dator..... Och ja det e access... ;) Jag kan faktiskt gör databaskopplingar .. Men hur får jag in det i koden ovan ;)

Medlem sedan feb. 200112 078 inlägg
#12

Du får leta reda på var startdatumet är och helt enkelt göra en

<%=recset("targetdate")%>

så som jag har förstått det.

Det "riktiga" datumet får du från servern med

<%=date()%>

eller kanske tiden med

<%=time()%>

Sen får du väl klippa och leva i strängarna för att formatera dem. Om du skall jobba med datum och framför allt om du skall jämföra dem se till att använda

session.lcid = 1053

i din global.asa eller i toppen på de sidorna som hanterar datum.

Medlem sedan feb. 2001256 inlägg
#13

Jo det fattar jag också.. men hur får jag in det i Javascriptet.....

Medlem sedan nov. 20017 144 inlägg
#14

Jag skulle tippa på att man kan göra så här:

<%
Ar=year(rs("date"))
Manad=month(rs("date"))
Dag=day(rs("date"))
%>

Och i Javascriptet:
setcountdown(<%=Ar%>,<%=Manad%>,<%=Dag%>)

Medlem sedan feb. 200112 078 inlägg
#15

Jo det fattar jag också.. men hur får jag in det i Javascriptet.....

Hittar du verkligen inte ett endaste datum i koden? :q

Medlem sedan feb. 2001256 inlägg
#16

Jo jag hittar datumena men frågan var som du kanske ser HUR FÅR JAG IN ASPDATUMENA I JAVASCRIPTET...... :l

Medlem sedan juni 200032 967 inlägg
#17

Fungerade inte Jespers förslag?

287 ms totalt · 4 externa anrop · v20260731065814-full.a51de22e
137 ms — deklarationer (db)
0 ms — hämta statistik (cache)
147 ms — hämta tråd, inlägg och bilagor (db)
124 ms — ändringar (db)