/ Forside / Teknologi / Udvikling / Java Scripts / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
Java Scripts
#NavnPoint
molokyle 5410
Klaudi 2799
smorch 2439
kim 1360
Harlekin 1134
bentjuul 984
gibson 800
severino 695
Random 675
10  konsulent.. 626
Vis tid med JavaScript og ASP
Fra : Jon Ege Ronnenberg


Dato : 25-11-02 21:24

Kan man tage klokkeslettet fra ASP eg.<%= Time %> og få et
javascript til at køre det live i browseren?

Jeg forestiller mig nået i stil med:
<script language=JavaScript>
function ur()
var intTime = "<%=Time %>"
i = 60
if i > intTime {
intTime++
}
else{
intTime = "<%= Time %>"
}
</script>

Jeg vil gerne tage tiden fra serveren og ikke fra klienten.

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

 
 
Jesper Stocholm (25-11-2002)
Kommentar
Fra : Jesper Stocholm


Dato : 25-11-02 22:58

Jon Ege Ronnenberg wrote :

> Kan man tage klokkeslettet fra ASP eg.<%= Time %> og få et
> javascript til at køre det live i browseren?
>
> Jeg forestiller mig nået i stil med:
> <script language=JavaScript>
> function ur()
> var intTime = "<%=Time %>"
> i = 60
> if i > intTime {
> intTime++
> }
> else{
> intTime = "<%= Time %>"
> }
> </script>

ja, det kan du godt ... da koden inde i <% %> bliver afviklet før dine
klientside scripts. Jeg ville dog nok bruge <% = Now %> i stedet.
Resultatet vil dermed blive - for dit JavaScript

<script language=JavaScript>
function ur()
var intTime = '25-11-2002 22:57:03';
i = 60;
if (i > intTime) {
intTime++
}
else{
intTime = '25-11-2002 22:57:03';
}
</script>



--
Jesper Stocholm
http://stocholm.dk
Ny FAQ for dk.edb.internet.webdesign.serverside.asp
se http://asp-faq.dk

Jon Ege Ronnenberg (27-11-2002)
Kommentar
Fra : Jon Ege Ronnenberg


Dato : 27-11-02 12:23

Hej med jer.

Jeg har fået lavet et ur som virker nogenlunde. Problemet er at der kommer
et "hak", når uret skifter mellem 23 og 0 og 59 og 0. I kan jo kikke lidt
på det, bruge det selv, fortæl det til en ven eller hvad i ellers har lyst
til og i må MEGET gerne komme med foreslag til forbedringer. Der er et
performance problem, til dem som er interesseret.

PS. Husk at skrive rettelser her

<kodeTilUr>

<script language="javascript1.2">
var intHours, intMinutes, intSeconds;
var hours, minutes, seconds;

intSeconds = "<%= Second(Now) %>";
intMinutes = "<%= Minute(Now) %>";
intHours = "<%= Hour(Now) %>";

function ur(){
if (intSeconds == 60){
intSeconds = "0";
intMinutes++;
} else {
if (intSeconds < 10) {
seconds = "0" + intSeconds;
} else {
seconds = intSeconds;
}
}
intSeconds++;

if (intMinutes == 60){
intMinutes = "0";
intHours++;
} else {
if (intMinutes < 10) {
minutes = "0" + intMinutes+ ":";
} else {
minutes = intMinutes + ":";
}
}

if (intHours == 24){
intHours = "0";
} else {
if (intHours < 10) {
hours = "0" + intHours + ":";
} else {
    hours = intHours + ":";
   }
}   

timeString = hours + minutes + seconds

Ur.innerHTML = timeString
window.setTimeout("ur();",1000);
}
window.onload = ur;
</script>

</kodeTilUr>

--
Vil du lære at kode HTML, XHTML, CSS, SSI eller ASP ???
- Pædagogiske tutorials på dansk
- Kom godt i gang med koderne
KLIK HER! => http://www.html.dk/tutorials

Lasse Reichstein Nie~ (27-11-2002)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 27-11-02 13:24

Jon Ege Ronnenberg <007-is-his-iq@ofir.dk> writes:

>
> function ur(){
> if (intSeconds == 60){
> intSeconds = "0";
> intMinutes++;
> } else {
> if (intSeconds < 10) {
> seconds = "0" + intSeconds;
> } else {
> seconds = intSeconds;
> }
> }
> intSeconds++;

Jeg ville tælle sekunderne op før jeg normaliserede strengen. Nu tager
du f.eks. "8" og laver det om til "08", og først derefter tæller du
det en op. Bliver det så "9"?

Der er iøvrigt inge grund til at fikse minutterne med mindre de er
blevet talt op. Samme for timer. Dog måske med undtagelse af første
gang du kalder funktionen, hvor resultatet endnu ikke er normaliseret.


> Ur.innerHTML = timeString

En Microsoftisme der ikke kan forventes at virke i andre browsere end
IE. (Der er nogle andre browsere der følte at de er blevet nødt til at
tilføjet den, netop fordi der er så mange MS-HTML-programmører der
bruger den alligevel.)

En officiel metode til at opdatere *tekst*-indholdet af et element er:

Ur.firstChild.data = timeString

Det kan ikke bruges til at putte HTML ind, men det er heller ikke det
du har brug for her.

> window.setTimeout("ur();",1000);

Du kan måske med god effekt bruge setInterval istedet. Hvis det tager
dit script et millisekund at blive udført, altså fra funktionen bliver
kaldt til den beder om at blive kaldt igen om et sekund, så taber dit
ur et millisekund i sekundet. Det er også følsomt over præcissionen af
timeout, hvis den er lidt forsinket så bliver uret forsinket. Med
setInterval skulle der ikke ophobe sig nogen forsinkelser da den tæller
tæller hele tiden.

Jeg ville lave en separat funktion der normaliserede tallene fra
start og satte en intervaltæller til at kalde ur-funktionen.

/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
'Faith without judgement merely degrades the spirit divine.'

Søg
Reklame
Statistik
Spørgsmål : 177552
Tips : 31968
Nyheder : 719565
Indlæg : 6408849
Brugere : 218887

Månedens bedste
Årets bedste
Sidste års bedste