herdon Skrevet 23. januar 2013 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.
herdon Skrevet 23. januar 2013 Forfatter 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>
MikkelRev Skrevet 24. januar 2013 Skrevet 24. januar 2013 Du får google javascript if syntax. Doctypen har ingenting med den feilmeldingen der å gjøre.
herdon Skrevet 24. januar 2013 Forfatter 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.
herdon Skrevet 24. januar 2013 Forfatter 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).
JohndoeMAKT Skrevet 24. januar 2013 Skrevet 24. januar 2013 Aldri programmer i IE. Chrome eller Firefox med Firebug extension.
Degeim Skrevet 24. januar 2013 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
creator84 Skrevet 24. januar 2013 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.
herdon Skrevet 24. januar 2013 Forfatter 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
creator84 Skrevet 24. januar 2013 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
herdon Skrevet 24. januar 2013 Forfatter Skrevet 24. januar 2013 Nå vil bildet vises, men når jeg trykker på bilde, skjer ingenting.
herdon Skrevet 24. januar 2013 Forfatter 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.
JohndoeMAKT Skrevet 24. januar 2013 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å.
herdon Skrevet 24. januar 2013 Forfatter 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>
herdon Skrevet 24. januar 2013 Forfatter Skrevet 24. januar 2013 Fant feilen: Måtte definere variabelen video utenfor funksjonen (eller ivertfall utenfor if-setningen).
herdon Skrevet 24. januar 2013 Forfatter 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>
creator84 Skrevet 24. januar 2013 Skrevet 24. januar 2013 Prøv med dette og se om det hjelper. if (bilde == 4) { bilde = 0; document.getElementById("innhold").innerHTML=''; video.pause(); }
herdon Skrevet 24. januar 2013 Forfatter 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).
herdon Skrevet 24. januar 2013 Forfatter Skrevet 24. januar 2013 Har løst problemet med å sette bilde til -1 og ikke 0 når bilde har blitt til 4.
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å