herdon Skrevet 23. januar 2013 Del Skrevet 23. januar 2013 Beklager for dårlig tittel, men jeg vet ikke noe bedre tittel i dette tilfellet. Jeg skal lage en liten hjelpeside som skal hjelpe megg og koordinere noe som skal vises i et skuespill vi skal ha på skolen, men når jeg testet koden midtveis i programmeringen kom det feilmelding der jeg ikke ventet at det skulle komme feilmelding. Så hva er problemet? Foreløpig kode (PS: Denne siden skal kjøre på min egen pc): <html> <head> <title>Program veiviser</title> <script> var bredde = screen.width; var hoyde = screen.height; var bilde = 0; document.getElementById("knapp").innerHTML='<img src="Biblioteker\Bilder\svart_bakgrunn.png" width="' . bredde . '" height=10 onclick="nextPicture()>'; function nextPicture() { bilde = bilde + 1; if bilde == 1 { document.getElementById("innhold").innerHTML='<video width="' . bredde . '"height="' . hoyde-10 . '" id="video">Nettleseren din støtter ikke video-taggen</video>'; var video = document.getElementById("video"); video.src="C:\Users\be14059604\Videos\Intro NRK Nyheter.mp4"; } } </script> </head> <body> <div id="innhold"></div><br> <div id="knapp"></div> </body> </html> Feilmelding: SCRIPT1010: Forventet identifikator teknisk_veiviser.html, linje 8 tegn 114 Takker for alle svar. Lenke til kommentar
herdon Skrevet 23. januar 2013 Forfatter Del Skrevet 23. januar 2013 if-setningen din. Hva med den, jeg ser ingen problem med det første med den. PS: Jeg ser jeg også har glemt <!DOCTYPE html> Lenke til kommentar
MikkelRev Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 Du får google javascript if syntax. Doctypen har ingenting med den feilmeldingen der å gjøre. Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Du får google javascript if syntax. Doctypen har ingenting med den feilmeldingen der å gjøre. Vet at doctype ikke har noe med den og gjøre, men jeg vet av erfaring at folk minner om sånne ting. Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Har nå rettet på feilen du ga meg + doctype, men får samme feilmelding, og som du ser, sier den at feilen er på linje 8 (linjen før funksjonen starter). Lenke til kommentar
JohndoeMAKT Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 Aldri programmer i IE. Chrome eller Firefox med Firebug extension. Lenke til kommentar
Degeim Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 (endret) Jeg tror du bør bytte ut punktumene du bruker for string concatenation med plusser. Altså: innerHTML='blabla' + bredde + 'blabla'. Punktum brukes i PHP, og pluss brukes i Javascript. Endret 24. januar 2013 av Degeim Lenke til kommentar
creator84 Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 Du har veldig mange feil .. 1. Du kan ikke legge ting inn i <body> (altså din img tag) FØR <body> har blitt lastet.. Altså må scriptet stå etter </body> om du ikke lager en <body onload="start();"> også slenger alt inn i en funksjon. 2. document.getElementById('knapp').innerHTML='<img src="sad.png" width="' + bredde + '" height=10 onclick="nextPicture()">'; Her mangler en " 3. Du må bytte ut . med +, siden + brukes til å "legge til" variabler. 4. if setningen din må skrives på følgende måte: if (bilde == 1) , med ( og ) rundt. 5. document.getElementById("innhold").innerHTML='<video width="' + bredde + '"height="' + (hoyde-10) + '" id="video">Nettleseren din støtter ikke video-taggen</video>'; Her må du skrive ' + (hoyde-10) + ' med både + og ( ), ellers blir det syntaksfeil. Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 (endret) Jeg tror du bør bytte ut punktumene du bruker for string concatenation med plusser. Altså: innerHTML='blabla' + bredde + 'blabla'. Punktum brukes i PHP, og pluss brukes i Javascript. Takk, nå får jeg ingen feilmelding, men den vil ikke vises nå heller (har trykket på godta script). Nåværende kode: <!DOCTYPE html> <html> <head> <title>Program veiviser</title> <script> var bredde = screen.width; var hoyde = screen.height; var bilde = 1; function nextPicture() { bilde = bilde + 1; if (bilde == 1) { document.getElementById("innhold").innerHTML='<video width="' + bredde + '"height="' + (hoyde-100) + '" id="video">Nettleseren din støtter ikke video-taggen</video>'; var video = document.getElementById("video"); video.src="C:\Users\be14059604\Videos\Intro NRK Nyheter.mp4"; video.play() } } </script> </head> <body> <div id="innhold"></div><br> <div id="knapp"></div> <script> document.getElementById("knapp").innerHTML='<img src="Biblioteker\Bilder\svart_bakgrunn.png" width="' + bredde + '" height=100 onclick="nextPicture()>'; </script> </body> </html> Endret 24. januar 2013 av herdon Lenke til kommentar
creator84 Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 (endret) document.getElementById("knapp").innerHTML='<img src="Biblioteker\Bilder\svart_bakgrunn.png" width="' + bredde + '" height=100 onclick="nextPicture()">'; Mangler fremdeles " etter nextPicture() function nextPicture() { if (bilde == 1) { document.getElementById("innhold").innerHTML='<video width="' + bredde + '"height="' + (hoyde-100) + '" id="video">Nettleseren din støtter ikke video-taggen</video>'; var video = document.getElementById("video"); video.src="C:\Users\be14059604\Videos\Intro NRK Nyheter.mp4"; video.play() } bilde = bilde + 1; } Du må nesten sette bilde = bilde + 1; i slutten av funksjonen, ellers blir bilde = 2, og da fungerer ikke if( bilde == 1) lenger. du kan også skrive bilde++; har samme funksjon som bilde = bilde + 1; Endret 24. januar 2013 av creator84 Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Nå vil bildet vises, men når jeg trykker på bilde, skjer ingenting. Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 document.getElementById("knapp").innerHTML='[img=sad.jpg]'; Mangler fremdeles " etter nextPicture() function nextPicture() { if (bilde == 1) { document.getElementById("innhold").innerHTML=' Nettleseren din støtter ikke video-taggen '; var video = document.getElementById("video"); video.src="C:\Users\be14059604\Videos\Intro NRK Nyheter.mp4"; video.play() } bilde = bilde + 1; } Du må nesten sette bilde = bilde + 1; i slutten av funksjonen, ellers blir bilde = 2, og da fungerer ikke if( bilde == 1) lenger. Tusen takk, grunnen til at jeg satte bilde=1 var for en test som uansett ikke ville fungere, så nå har jeg satt startverdien tilbake til 0, og det fungerer. Lenke til kommentar
JohndoeMAKT Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 Dersom du bytter ut IE får og åpner error console får du beskjed om alle feil med bedre melding og link direkte til linjen det er feil på. Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Jeg har fått et nytt problem: Når jeg ber den om å endre video finner den visstnok ikke src. Feilmelding: SCRIPT5007: Kan ikke angi verdien for egenskapen src: objektet er null eller udefinert teknisk_veiviser.html, linje 27 tegn 1 Kode: <!DOCTYPE html> <html> <head> <title>Program veiviser</title> <style> body { background-color:#000000; text-align:center; } </style> <script> var bredde = screen.width - 10; var hoyde = screen.height; var bilde = 0; function nextPicture() { bilde = bilde + 1; if (bilde == 1) { document.getElementById("innhold").innerHTML='<video width="' + bredde + '"height="' + (hoyde-40) + '" id="video">Nettleseren din støtter ikke video-taggen</video>'; var video = document.getElementById("video"); video.src="Intro_NRK_Nyheter.mp4"; video.loop=false; video.play() video.addEventListener('ended', function() {nextPicture()}) } if (bilde == 2) { video.src="Død_Ulv_Helfigur_web.mp4"; video.loop=true; video.play(); } } </script> </head> <body> <div id="innhold"></div> <div id="knapp"></div> <script> document.getElementById("knapp").innerHTML='<img src="grå_bakgrunn.png" width="' + bredde + '" height=10 onclick="nextPicture()">'; </script> </body> </html> Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Fant feilen: Måtte definere variabelen video utenfor funksjonen (eller ivertfall utenfor if-setningen). Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Siste lille finish som gikk feil: Når variabelen bilde når verdien 4, så skal videoen bli borte (sånn som den var i startposisjon) og variabelen bilde skal bli til 0. Men når variabelen blir fire, så ser det ut som om den i tillegg til det fortsetter, sånn at den går i loop, hvorfor? Nåværende kode: <!DOCTYPE html> <html> <head> <title>Program veiviser</title> <style> body { background-color:#000000; text-align:center; } </style> <script> var bredde = screen.width - 10; var hoyde = screen.height; var bilde = 0; var video function nextPicture() { bilde = bilde + 1; if (bilde == 1) { document.getElementById("innhold").innerHTML='<video width="' + bredde + '"height="' + (hoyde-40) + '" id="video">Nettleseren din støtter ikke video-taggen</video>'; video = document.getElementById("video"); video.src="Intro_NRK_Nyheter.mp4"; video.loop=false; video.play() video.addEventListener('ended', function() {nextPicture()}) } if (bilde == 2) { video.src="død_ulv_helfigur_web.mp4"; video.loop=true; video.play(); } if (bilde == 3) { video.src="Outtro.mp4"; video.loop=false; video.play(); video.addEventListener('ended', function() {nextPicture()}) } if (bilde == 4) { bilde = 0; document.getElementById("innhold").innerHTML=''; } } </script> </head> <body> <div id="innhold"></div> <div id="knapp"></div> <script> document.getElementById("knapp").innerHTML='<img src="grå_bakgrunn.png" width="' + bredde + '" height=10 onclick="nextPicture()">'; </script> </body> </html> Lenke til kommentar
creator84 Skrevet 24. januar 2013 Del Skrevet 24. januar 2013 Prøv med dette og se om det hjelper. if (bilde == 4) { bilde = 0; document.getElementById("innhold").innerHTML=''; video.pause(); } Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Prøv med dette og se om det hjelper. if (bilde == 4) { bilde = 0; document.getElementById("innhold").innerHTML=''; video.pause(); } Hjalp desverre ikke, men det kan være pga. at det den gjør er at den gjør funksjonen en gang mer enn den skulle (der det er video.play). Lenke til kommentar
herdon Skrevet 24. januar 2013 Forfatter Del Skrevet 24. januar 2013 Har løst problemet med å sette bilde til -1 og ikke 0 når bilde har blitt til 4. Lenke til kommentar
Anbefalte innlegg
Opprett en konto eller logg inn for å kommentere
Du må være et medlem for å kunne skrive en kommentar
Opprett konto
Det er enkelt å melde seg inn for å starte en ny konto!
Start en kontoLogg inn
Har du allerede en konto? Logg inn her.
Logg inn nå