|
| Hvordan ungår man at hele siden opdateres? Fra : Diana Juncher |
Dato : 02-05-04 19:12 |
|
Hejsa!
Jeg skal i gang med at lave et lille "spil". Det er meget enkelt:
man trykker på (billedet af en) knap og der tælles et point op.
Jeg ved bare ikke helt, hvordan jeg skal gribe det an. Problemet
er at siden, hvis jeg - som jeg først prøvede - gør billedet af
knappen til et link (med href="#") og bruger en OnClick function,
opdaterer sig selv. Dvs. at man bliver sendt til sidens top og
altså kommer væk fra knappen, som befinder sig et stykke nede på
siden. Æv! Det er jo lidt irriterende at skulle scroll'e ned,
hver gang man vil trykke på knappen.
Er der andre løsninger til sådan en lille tælle-funktion?
(havde lidt overvejet at forsøge mig med flash, men det MÅ da
være en nemmere metode)
mvh. Diana
--
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~ (02-05-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 02-05-04 19:19 |
|
Diana Juncher <diana_juncher@hotmail.com> writes:
> Jeg skal i gang med at lave et lille "spil". Det er meget enkelt:
> man trykker på (billedet af en) knap og der tælles et point op.
Hvordan vinder man? :)
> Jeg ved bare ikke helt, hvordan jeg skal gribe det an. Problemet
> er at siden, hvis jeg - som jeg først prøvede - gør billedet af
> knappen til et link (med href="#") og bruger en OnClick function,
> opdaterer sig selv.
Dårlig ide. Hvis det ikke er et link til en anden side/ressource, så
lad være med at bruge et link tag.
Hvis du vil have noget at trykke på, så brug en knap, det er det de er
der for.
Enten:
<button type="button" onclick="increment();"><img src="img.png"></button>
eller
<input src="img.png" type="image" onclick="increment();return false;">
Eller, reager direkte på klikket på billedet:
<img src="img.png" onclick="increment();">
Funktionen increment skal så tælle din tæller op.
> Dvs. at man bliver sendt til sidens top og altså kommer væk fra
> knappen, som befinder sig et stykke nede på siden. Æv!
Det er fordi du bruger et link. Når du klikker på det, så følger
du linket til siden selv. Det er et faretegn at se href="#". Det
tyder på forkert brug af et link.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Diana Juncher (02-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 02-05-04 19:57 |
|
Lasse Reichstein Nielsen wrote in dk.edb.internet.webdesign.clientside:
> Hvordan vinder man? :)
>
Tjaeh, strengt taget er der vel ingen vinder - det er spil der fortsætter i
det uendelige. Men man kan jo godt føle sig som en vinder, når man ligger på
toppen af high score listen ;)
Tak for det hurtige svar!! Det virkede søreme!
Nu har jeg bare et lille problem...:(
Funktionen Score() tæller op når der trykkes:
<script>
function firsttime()
{
alert("Don't forget to log on!")
}
function Score()
{
score = score + 1;
}
</script>
Men når jeg nu trykker på knappen:
<input src=""button.jpg"" type=""image"" onclick=""Score();return false;"">
(dobbelt " fordi det er i en streng)
siger den: error on page, 'score' is undefined!
Hvad er dén nu af??
Det hele kan ses på: < http://www.brainstorm-duckandcover.org/button.asp>
For at logge på kan man bare bruge brugernavn: test og kodeord: test. (bemærk
dog at den ikke er sat til at indføre scoren i databasen endnu - der vil
altså stadig så 0 på high score listen)
--
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
| |
Diana Juncher (02-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 02-05-04 20:26 |
|
Lasse Reichstein Nielsen wrote in dk.edb.internet.webdesign.clientside:
> Hvordan vinder man? :)
Tjaeh...det kan man vel strengt taget ikke - det er spil uden ende. Men man
kan FØLE sig som en vinder, når man ligger øverst på high-score listen ;)
Tak for det hurtige svar!! Det virkede søreme!
Meeeen...selvfølgelig er der nu opstået et andet problem...
Altså, jeg skriver:
<script>
function firsttime()
{
alert("Don't forget to log on!")
}
function Score()
{
score = score + 1;
}
</script>
Og:
Dim score
score = 0
<input src=""button.jpg"" type=""image"" onclick=""Score();return false;"">
Men den melder følgende fejl:
Error: 'score' is undefined
Hvad er nu dén af? Skal jeg flytte rundt på nogen ting? Mangler jeg noget??
Det hele kan ses på < http://www.brainstorm-duckandcover.org/button.asp>
Brugernavn: test, password: test
mvh. Diana
--
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~ (02-05-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 02-05-04 23:02 |
|
Diana Juncher <diana_juncher@hotmail.com> writes:
> Nu har jeg bare et lille problem...:(
>
> Funktionen Score() tæller op når der trykkes:
>
> <script>
<script type="text/javascript">
hvis det skal være korrekt HTML (og det skal det da :)
> function Score()
> {
> score = score + 1;
> }
> </script>
>
> Men når jeg nu trykker på knappen:
>
> <input src=""button.jpg"" type=""image"" onclick=""Score();return false;"">
> (dobbelt " fordi det er i en streng)
.... inde i din ASP skrevet i VBScript? Generelt kan vi ikke bruge
ASP-koden til så meget. Hvis der er fejl på siden, så finder vi den i
den kode browseren får, og så må du selv finde ud af hvor du genererer
den :)
> siger den: error on page, 'score' is undefined!
Det er den så nok også.
> Hvad er dén nu af??
Du har ikke erklæret en variabel der hedder "score". Så er det svært
at lægge en til den. Tilføj dette før funktionerne:
---
var score = 0;
---
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Diana Juncher (05-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 05-05-04 20:12 |
|
> <script type="text/javascript">
> hvis det skal være korrekt HTML (og det skal det da :)
okay, dén er rettet nu! :)
> .... inde i din ASP skrevet i VBScript? Generelt kan vi ikke bruge
> ASP-koden til så meget. Hvis der er fejl på siden, så finder vi den i
> den kode browseren får, og så må du selv finde ud af hvor du genererer
> den :)
har nu kringlet den udenom asp-delen...men...! :(
> Du har ikke erklæret en variabel der hedder "score". Så er det svært
> at lægge en til den. Tilføj dette før funktionerne:
> ---
> var score = 0;
> ---
og den har jeg også fået lavet.
Har du noget imod at kaste ENDNU et blik på min kode? :) Nu tæller den godt nok
op ved tryk på knappen...men den går også videre til en ny side :(
<head>
<title>Button</title>
<script type="text/javascript">
var score = 0;
function firsttime()
{
alert("Don't forget to log on!")
}
function Score()
{
score = score + 1
document.write("<p>" + score + "</p>");
}
(<p> er defineret i css og angiver position, font osv.)
Response.Write "<h2>Ready? Set? Push!</h2>"
%>
<div id="button"><input src="button.jpg" type="image" onclick="Score();return
false;"></div><br><br><br><br><br><br><br><br>
<%
Response.Write "<br><br><div><input type=""submit"" value=""Submit score""
id=""submit"" /></div>"
*sukker dybt* HVAD går der galt? hvorfor vil den ikke??
mvh. Diana
- som nok må indse hun er blevet afhængig af dette dejlige forum :)
--
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~ (05-05-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 05-05-04 20:24 |
|
Diana Juncher <diana_juncher@hotmail.com> writes:
> Nu tæller den godt nok
> op ved tryk på knappen...men den går også videre til en ny side :(
(Husk <!DOCTYPE> :)
> <head>
....
> function Score()
> {
> score = score + 1
> document.write("<p>" + score + "</p>");
Du kan ikke bruge document.write efter at siden er loadet færdig.
Det vil automatisk genåbne siden og slette hele indholdet inden den skriver
noget.
> (<p> er defineret i css og angiver position, font osv.)
Du har allerede en paragraf, som du ikke har slettet (ikke at den
overlever at siden bliver slettet)..
Så, først og fremmest, lav den paragraf dit tal står i om til
<p id="talfelt">0</p>
(og ret evt. CSS'en til at matche på "#talfelt" i stedet for bare "p",
så du kan have mere end en paragraf på siden).
Lav så Score-funktionen om til:
---
function Score() {
score += 1;
document.getElementById("talfelt").firstChild.nodeValue = score;
}
---
> mvh. Diana
> - som nok må indse hun er blevet afhængig af dette dejlige forum :)
Det er skam ikke et forum, men en nyhedsgruppe :) Du kan læse mere
om nyhedsgrupper på <URL: http://www.usenet.dk/>.
HTML.dk har et interface til nyhedsgrupperne, men der er mange andre
måder at læse dem på. De fleste bruger en dedikeret nyhedsklient,
og ikke et web-interface.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Diana Juncher (05-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 05-05-04 20:36 |
|
OMG!!!
Det virker!!!
Tak!!!
Mange mange tak!!!
:D
--
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
| |
Diana Juncher (06-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 06-05-04 10:07 |
|
ahem...:) Lige en sidste ting:
jeg skal jo også gerne have scoren lagt ind i databasen, når der
trykkes på "submit score".
Havde forsøgt mig med:
<form action="button.asp?score=<script>score</script>"
method="post"><input type="submit" value="Submit score"
id="submit" ></form>
men det virkede ikke. Var egentlig også bare et vildt gæt :)
Den går godt nok videre til button.asp men den tror at variablen
score er tom. Altså accepterer den ikke helt
<script>score</script>. Hvordan får man den til det, hva'? :)
--
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~ (06-05-2004)
| Kommentar Fra : Lasse Reichstein Nie~ |
Dato : 06-05-04 19:22 |
|
Diana Juncher <diana_juncher@hotmail.com> writes:
> ahem...:) Lige en sidste ting:
>
> jeg skal jo også gerne have scoren lagt ind i databasen, når der
> trykkes på "submit score".
> Havde forsøgt mig med:
>
> <form action="button.asp?score=<script>score</script>"
> method="post"><input type="submit" value="Submit score"
> id="submit" ></form>
Ja, det virker jo ikke. Man må ikke putte HTML-tags ind i attributter
i HTML-tags. Den nemmeste måde vil være at gemme scoren i et skjult
felt:
---
<form action="button.asp" method="post" id="submitForm">
<input type="hidden" name="score" value="0">
<input type="submit" value="Submit score" id="submit">
</form>
---
Du skal så opdatere feltet når scoren ændrer sig. Tilføj følgende
linje til Score-funktionen fra sidst:
---
document.forms['sunmitForm'].elements['score'].value = score;
---
> men det virkede ikke. Var egentlig også bare et vildt gæt :)
Meget, hvilket en HTML-validator også kunne fortælle.
> Den går godt nok videre til button.asp men den tror at variablen
> score er tom. Altså accepterer den ikke helt
> <script>score</script>.
Selv hvis den havde troet på at det var et script tag (og det gør
den ikke hvor det er placeret), så vil det ikke gøre noget bare
at skrive "score". Det evaluerer til en værdi, men den værdi kommer
ikke ind i dokumentet af det.
/L
--
Lasse Reichstein Nielsen - lrn@hotpop.com
DHTML Death Colors: <URL: http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'
| |
Diana Juncher (07-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 07-05-04 19:59 |
|
> Ja, det virker jo ikke. Man må ikke putte HTML-tags ind i attributter
> i HTML-tags. Den nemmeste måde vil være at gemme scoren i et skjult
> felt:
> ---
> <form action="button.asp" method="post" id="submitForm">
> <input type="hidden" name="score" value="0">
> <input type="submit" value="Submit score" id="submit">
> </form>
> ---
Jeps, den er på plads:
-----
Response.Write "<br><br><div><form action=""button.asp?name=" &
Request.Form("name") & "&password=" & Request.Form("password") & """
method=""post"" id=""submitForm""><input type=""hidden"" name=""score""
value=""0""><input type=""submit"" value=""Submit score""
id=""submit""></form></div>"
----
> Du skal så opdatere feltet når scoren ændrer sig. Tilføj følgende
> linje til Score-funktionen fra sidst:
> ---
> document.forms['sunmitForm'].elements['score'].value = score;
> ---
>
Er også klaret:
-------
function Score()
{
score += 1;
document.getElementById("talfelt").firstChild.nodeValue = score;
document.forms['submitForm'].elements['score'].value = score; }
------
Men af en eller anden grund ændrer den ikke "value" i det skjulte input-felt!!
--
Diana Juncher
--
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
| |
Diana Juncher (07-05-2004)
| Kommentar Fra : Diana Juncher |
Dato : 07-05-04 20:38 |
|
Hups! Vent lidt...det virker nu! :)
--
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
| |
|
|