/ 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
billeder i javascript med variable som vok~
Fra : John Hertz


Dato : 17-10-11 01:19

Hvad gør jeg forkert?
Jeg prøver at lærer js og vil gerne have den til at vise 6
billeder efter hinanden c_001.jpg, c_002.jpg osv

<script language="javascript" type="text/javascript"><!--
var i=0;
for (i=0;i<=6;i++) {
document.write("C_00" +i +".jpg")
   document.write('<img src="C_00" +i+".jpg" width="300"
height="200">');
   document.write("<br />");
}


// --></script>

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

 
 
Birger Sørensen (17-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 17-10-11 01:48

John Hertz udtrykte præcist:
> Hvad gør jeg forkert?
> Jeg prøver at lærer js og vil gerne have den til at vise 6
> billeder efter hinanden c_001.jpg, c_002.jpg osv
>
> <script language="javascript" type="text/javascript"><!--
> var i=0;
> for (i=0;i<=6;i++) {
> document.write("C_00" +i +".jpg")
>    document.write('<img src="C_00" +i+".jpg" width="300"
> height="200">');
>    document.write("<br />");
> }
>
>
> // --></script>

Der er ingen grund til at bruge js til det - ud over måske at lære ^^
Man bør undgå document.write, når det er muligt....
Ovenstående har et problem med afmaskning til html.
Det rigtige kommer an på, hvilken doctype du bruger.

I HTML skal du have
<script type="text/javascript">
// <!--
//...script her
// --!>
</script>
og language hører ikke til længere...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Jørgen Farum Jensen (17-10-2011)
Kommentar
Fra : Jørgen Farum Jensen


Dato : 17-10-11 18:27

Den 17-10-2011 02:19, John Hertz skrev:
> Hvad gør jeg forkert?
> Jeg prøver at lærer js og vil gerne have den til at vise 6
> billeder efter hinanden c_001.jpg, c_002.jpg osv
>
> <script language="javascript" type="text/javascript"><!--
> var i=0;
> for (i=0;i<=6;i++) {
> document.write("C_00" +i +".jpg")
>    document.write('<img src="C_00" +i+".jpg" width="300"
> height="200">');
>    document.write("<br />");
> }
>
>
> // --></script>
>

http://webdesign101.dk/slideshow/
er en artikel om emnet med en håndfuld
eksempler.


--
Jørgen Farum Jensen
http://webdesign101.dk

Lasse Reichstein Nie~ (17-10-2011)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 17-10-11 21:05

John Hertz <john-hertz@paradis.dk> writes:

> Hvad gør jeg forkert?

> Jeg prøver at lærer js og vil gerne have den til at vise 6
> billeder efter hinanden c_001.jpg, c_002.jpg osv
>
> <script language="javascript" type="text/javascript"><!--

Drop 'language="javascript"' og '<!--', de er unødvendige.

> var i=0;
> for (i=0;i<=6;i++) {

Hvis der er seks billeder, 1-6, så skal du nok starte ved 1, ikke 0.

Jeg vil anbefale at skrive "var" som del af for-statementen:
for (var i = 1; i <= 6; i++) {

> document.write("C_00" +i +".jpg")
>    document.write('<img src="C_00" +i+".jpg" width="300"
> height="200">');

Her bruger du enkelt-quote (') omkring strengen, så det er også den du
skal bruge for at afbryde den igen for at indsætte i:
document.write('<img src="C_00' + i +
'.jpg" style="width:300px;height:200px">');

Jeg anbefaler at bruge CSS-styling i stedet for HTML-attributter :)

>    document.write("<br />");

Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
document.write, så bare skriv:
document.write("<br>");


> }
> // --></script>

Drop også "// -->", lige som den startende "<!--" (som ud over at være
unødvendig i HTML også er direkte skadelig i XHTML).


/L 'pedantiske detaljerettelser koster gratis'
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Bertel Lund Hansen (17-10-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 17-10-11 23:07

Lasse Reichstein Nielsen skrev:

> Jeg vil anbefale at skrive "var" som del af for-statementen:
> for (var i = 1; i <= 6; i++) {

Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
som i C++, så dør variablen når løkken afsluttes. Det skal man da
lige være klar over.

> Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
> document.write,

Det må du gerne forklare nærmere.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Birger Sørensen (17-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 17-10-11 23:28

Bertel Lund Hansen:
> Lasse Reichstein Nielsen skrev:
>
>> Jeg vil anbefale at skrive "var" som del af for-statementen:
>> for (var i = 1; i <= 6; i++) {
>
> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
> som i C++, så dør variablen når løkken afsluttes. Det skal man da
> lige være klar over.
>
>> Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
>> document.write,
>
> Det må du gerne forklare nærmere.

I XHTML er /> en afslutning af et tag - resten af js'et vil give
valideringsfejl, og det bliver formentlig hverken dekodet rigtigt eller
virker.
Det "rigtige" med js, er at have det i selvstændige filer.
Så er det ligegyldigt med afmaskning - mener i øvrigt godt at man i
XHTML kan maske js - men der skal mere til end en kommentar.
<script type="text/javascript">
/* <![CDATA[ */
// scripting her
/* ]]> */
</script>

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 00:15

Efter mange tanker skrev Birger Sørensen:
> <script type="text/javascript">
> /* <![CDATA[ */
> // scripting her
> /* ]]> */
> </script>

Der mangler så skråstreger foran/efter *'erne..

<script type="text/javascript">
//* <![CDATA[ *//
// scripting her
//* ]]> *//
</script>

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 00:17

Birger Sørensen kom med denne ide:
> Efter mange tanker skrev Birger Sørensen:
>> <script type="text/javascript">
>> /* <![CDATA[ */
>> // scripting her
>> /* ]]> */
>> </script>
>
> Der mangler så skråstreger foran/efter *'erne..
>
> <script type="text/javascript">
> //* <![CDATA[ *//
> // scripting her
> //* ]]> *//
> </script>
>
> Birger

:-@
Jeg gi'r op...
Der skal kun være een skråstreg... /

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (18-10-2011)
Kommentar
Fra : Rune Jensen


Dato : 18-10-11 09:30

On 17 Okt., 15:06, Bertel Lund Hansen
<splitteminebrams...@lundhansen.dk> wrote:
> Lasse Reichstein Nielsen skrev:
>
> > Jeg vil anbefale at skrive "var" som del af for-statementen:
> >     for (var i = 1; i <= 6; i++) {
>
> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
> som i C++, så dør variablen når løkken afsluttes. Det skal man da
> lige være klar over.

Du mener, den bliver en lokal variabel. Det er nok også, hvad der
sigtes efter, eftersom man som best practice ikke bør have globale
variable, hvis kun lokale er nødvendige. Desuden, så er det en tæller
- hvorfor skal en tæller være global variabel?


MVH
Rune Jensen

Bertel Lund Hansen (18-10-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-10-11 18:22

Rune Jensen skrev:

>> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
>> som i C++, så dør variablen når løkken afsluttes. Det skal man da
>> lige være klar over.

> Du mener, den bliver en lokal variabel. Det er nok også, hvad der
> sigtes efter,

Det ved man jo ikke uden forklaring.

> eftersom man som best practice ikke bør have globale
> variable, hvis kun lokale er nødvendige.

Det ved en begynder heller ikke.

> Desuden, så er det en tæller
> - hvorfor skal en tæller være global variabel?

Det er somme tider nyttigt [1], men min pointe var ikke at
diskutere lokale kontra globale variable. Det var at man ikke
bare skal påstå at man skal kode på den og den måde. Det må være
rimeligt at give en begrundelse for de råd man giver.

[1] Hvis man f.eks. gennemløber en løkke indtil man finder det
man leder efter, kan tælleren angive nummeret på det fundne
element.

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 20:51

Efter mange tanker skrev Rune Jensen:
> Du mener, den bliver en lokal variabel. Det er nok også, hvad der
> sigtes efter, eftersom man som best practice ikke bør have globale
> variable, hvis kun lokale er nødvendige. Desuden, så er det en tæller
> - hvorfor skal en tæller være global variabel?

Hvis man programmerer OOP, stræber man efter ingen globale variable.
Det kan ikke lade sig gøre i almindelig sekventiel programmering,
undtagen ved meget simple opgaver.
skal man bruge en variabel, skal man bruge en variabel. Er man i global
scope, bliver det så en global variabel.
Det er måske lidt at gå over åen efter vand, at opretten en funktion,
for at undgå at en tællervariabel bliver global..

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Rune Jensen (18-10-2011)
Kommentar
Fra : Rune Jensen


Dato : 18-10-11 09:37

On 17 Okt., 15:06, Bertel Lund Hansen
<splitteminebrams...@lundhansen.dk> wrote:

> > Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
> > document.write,
>
> Det må du gerne forklare nærmere.

Det har SVJH ingen betydning, hvis dit XHTML sendes som text/html -
fordi det _IKKE_ er XHTML man så leverer, men ren bloated HTML.

Men prøv at bruge document.write i en _rigtig_ XHTML-side, dvs. hvor
der sendes med application/XML. _så_ vil du få en XML-fejl, og siden
vises ikke.

document.write er ikke en del af DOM, mener det er årsagen.


MVH
Rune Jensen

Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 17:49

Rune Jensen har bragt dette til os:

> Men prøv at bruge document.write i en _rigtig_ XHTML-side, dvs. hvor
> der sendes med application/XML. _så_ vil du få en XML-fejl, og siden
> vises ikke.
>
> document.write er ikke en del af DOM, mener det er årsagen.

Gu've' hvorfor den så specificeret i DOM...?
http://www.w3.org/TR/DOM-Level-2-HTML/html.html#ID-75233634
(skulle mene, at lige præcis notationen document,write() er en ret
tydelig indikator for, at det er DOM og ikke js...)

Man kan bemærke, at det specificeres, at document.open() skal kaldes
først - og at et kald til .open, medfører at alt eksisterende indhold
slettes.
Der står også, at indsættelse på denne måde, kan resultere i et
dokument, der ikke opfylder de krav der stilles af DTD.

Ser man også under noten til .open, kan man bemærke, at teksten der
"writes", skal være "unparsed HTML" - altså må antagelsen at det ikke
går godt med XHTML, have en vis basis i virkeligheden...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 17:55

Bertel Lund Hansen:
> Lasse Reichstein Nielsen skrev:
>
>> Jeg vil anbefale at skrive "var" som del af for-statementen:
>> for (var i = 1; i <= 6; i++) {
>
> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
> som i C++, så dør variablen når løkken afsluttes. Det skal man da
> lige være klar over.
>
>> Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
>> document.write,
>
> Det må du gerne forklare nærmere.

js er ikke C++. De anvendte variable har samme scope som for-løkken
selv. (altså globale eller hvis løkken står i en funktion, lokale
variable i funktionen).
Variable skal altid deklareres (var), uanset hvor og hvordan de
anvendes. Det skal de også i C++...

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Bertel Lund Hansen (18-10-2011)
Kommentar
Fra : Bertel Lund Hansen


Dato : 18-10-11 18:24

Birger Sørensen skrev:

>>> Jeg vil anbefale at skrive "var" som del af for-statementen:
>>> for (var i = 1; i <= 6; i++) {

>> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
>> som i C++, så dør variablen når løkken afsluttes. Det skal man da
>> lige være klar over.

> js er ikke C++. De anvendte variable har samme scope som for-løkken
> selv. (altså globale eller hvis løkken står i en funktion, lokale
> variable i funktionen).
> Variable skal altid deklareres (var), uanset hvor og hvordan de
> anvendes. Det skal de også i C++...

Hvorfor anbefaler du så at de deklareres internt i
for-parentesen?

--
Bertel
http://bertel.lundhansen.dk/      http://fiduso.dk/

Birger Sørensen (18-10-2011)
Kommentar
Fra : Birger Sørensen


Dato : 18-10-11 20:47

Bertel Lund Hansen forklarede:
> Birger Sørensen skrev:
>
>>>> Jeg vil anbefale at skrive "var" som del af for-statementen:
>>>> for (var i = 1; i <= 6; i++) {
>
>>> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
>>> som i C++, så dør variablen når løkken afsluttes. Det skal man da
>>> lige være klar over.
>
>> js er ikke C++. De anvendte variable har samme scope som for-løkken
>> selv. (altså globale eller hvis løkken står i en funktion, lokale
>> variable i funktionen).
>> Variable skal altid deklareres (var), uanset hvor og hvordan de
>> anvendes. Det skal de også i C++...
>
> Hvorfor anbefaler du så at de deklareres internt i
> for-parentesen?

Det var ikke mig der anbefalede det... ^^
Men det er almindeligt, kun at bruge variablen i løkken, selvom man
godt kan bruge værdien til andet, som Rune også skriver.

Birger

--
http://varmeretter.dk - billig, sund og hurtig mad
http://bbsorensen.dk



Lasse Reichstein Nie~ (19-10-2011)
Kommentar
Fra : Lasse Reichstein Nie~


Dato : 19-10-11 16:38

Bertel Lund Hansen <splitteminebramsejl@lundhansen.dk> writes:

> Lasse Reichstein Nielsen skrev:
>
>> Jeg vil anbefale at skrive "var" som del af for-statementen:
>> for (var i = 1; i <= 6; i++) {
>
> Det kan du da ikke bare anbefale uden forklaring. Hvis det virker
> som i C++, så dør variablen når løkken afsluttes. Det skal man da
> lige være klar over.

Det virker *ikke* som i C++. Variablen er erklæret i hele funktionens
krop. Derfor er det sådan set ligegyldigt hvor i funktionen man skriver
"var i".
I dette tilfælde bruges variablen kun inde i for-løkken, så derfor
synes jeg det er mere læseligt at skrive det på samme måde som i fx C++.

>
>> Du skriver <br/> som om det er XHTML. Man bør aldrig blande XHTML og
>> document.write,
>
> Det må du gerne forklare nærmere.

Se fx. http://www.w3.org/MarkUp/2004/xhtml-faq#docwrite (eller resten
af https://encrypted.google.com/search?q=xhtml+document.write).
Det gælder naturligvis kun hvis browseren parser dokumentet som XHTML,
og ikke bare som fejlfyldt HTML, men så er det også bedre slet ikke at
bruge XHTML.

/L
--
Lasse Reichstein Holst Nielsen
DHTML Death Colors: <URL:http://www.infimum.dk/HTML/rasterTriangleDOM.html>
'Faith without judgement merely degrades the spirit divine.'

Rune Jensen (22-10-2011)
Kommentar
Fra : Rune Jensen


Dato : 22-10-11 02:16

On 18 Okt., 10:21, Bertel Lund Hansen
<splitteminebrams...@lundhansen.dk>

> [...] men min pointe var ikke at
> diskutere lokale kontra globale variable. Det var at man ikke
> bare skal påstå at man skal kode på den og den måde. Det må være
> rimeligt at give en begrundelse for de råd man giver.

Klart nok.


MVH
Rune Jensen

Rune Jensen (30-10-2011)
Kommentar
Fra : Rune Jensen


Dato : 30-10-11 04:52

On 19 Okt., 08:37, Lasse Reichstein Nielsen <lrn.unr...@gmail.com>
wrote:

> https://encrypted.google.com/search?q=xhtml+document.write

Hvis man forsøger at åbne den side fra bibliotekets computer via
Google Groups, bliver man nægtet adgang pga. "Pornografisk
indhold" (denne tekst i rødt). Der køres givetvis igennem en dansk
proxy (hvor indhold tjekkes) på accessproxy . dk, i hvert fald skiltes
med dette domæne, og det må så være dette danske (amatør)-firma, som
står bag cencuren.

Ret interessant... at man har trukket cencur så langt, at man ikke må
se en Google søgeside længere. Fortæller vel også hvor latterligt
sådanne automatiske cencur-scripts er, når de ikke kan skelne. Og så
er vi så glade for, vi IKKE ligner Kina.

Man _kunne_ spørge, om det koster biblioteket penge at have denne
automatiske cencur, i form af et abonnement. I så fald ville jeg
opsige kontrakten øjeblikkeligt pga. inkompetence.


PS. Hvis man kopierer linket og sætter det direkte i adressebaren, kan
man godt se siden??? Så det er redirecten fra Google groups, som den
ikke vil ha'.
PPS. Jeg kan sagtens se linket direkte fra Google Groups på min egen
comp.


MVH
Rune Jensen

Kim Ludvigsen (30-10-2011)
Kommentar
Fra : Kim Ludvigsen


Dato : 30-10-11 13:05

Rune Jensen skrev:

> Hvis man forsøger at åbne den side fra bibliotekets computer via
> Google Groups, bliver man nægtet adgang pga. "Pornografisk
> indhold" (denne tekst i rødt). Der køres givetvis igennem en dansk
> proxy (hvor indhold tjekkes) på accessproxy . dk, i hvert fald skiltes
> med dette domæne, og det må så være dette danske (amatør)-firma, som
> står bag cencuren.

Næh, det er biblioteket, som har valgt, at de ikke vil have
porno på bibliotekscomputerne. De har så valgt et program
til at forhindre pornoen, og det er så programmet fra
Accessproxy.

> Ret interessant... at man har trukket cencur så langt, at man ikke må
> se en Google søgeside længere. Fortæller vel også hvor latterligt
> sådanne automatiske cencur-scripts er, når de ikke kan skelne.

Alle den slags programmer kan lave fejl, og det er
sandsynligvis sket her. I det tilfælde kan du henvende dig
til en bibliotekar, der så muligvis kan tillade siden,
og/eller som kan kontakte firmaet, så de kan forbedre deres
filter.

> Man _kunne_ spørge, om det koster biblioteket penge at have denne
> automatiske cencur, i form af et abonnement. I så fald ville jeg
> opsige kontrakten øjeblikkeligt pga. inkompetence.

Du kan foreslå dem et bedre program, men det bliver nok
svært at finde et, der er bedre. For ti år siden var det i
hvert fald klart det bedste på markedet.

Du får nok svært ved at overbevise dem om at skrotte
filteret. Det er et bevidst valg - som de ganske rigtigt
betaler for - for at undgå at nogle sidder og ser porno på
computere, hvor der kommer små børn forbi. Og ja, der /er/
personer, som bevidst vil sidde og se porno på biblioteket i
stedet for at gøre det derhjemme.

--
Mvh. Kim Ludvigsen
Det nemmeste komma:
http://ordforklaring.dk/ordforklaring.php?forklaring=decimalkomma

scootergrisen (17-10-2011)
Kommentar
Fra : scootergrisen


Dato : 17-10-11 21:23
Søg
Reklame
Statistik
Spørgsmål : 177577
Tips : 31968
Nyheder : 719565
Indlæg : 6409070
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste