Avaleht
uus teema   vasta Tarkvara »  Programmeerimine »  HTML5 + javascript märgi kõik teemad loetuks
märgi mitteloetuks
vaata eelmist teemat :: vaata järgmist teemat
Hinnavaatlus :: Foorum :: Uudised :: Ärifoorumid :: HV F1 ennustusvõistlus :: Pangalink :: Telekavad :: HV toote otsing
autor
sõnum Saada viide sõbrale.  :: Teata moderaatorile teata moderaatorile
otsing:  
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 27.04.2014 15:22:07 HTML5 + javascript vasta tsitaadiga

Oskab keegi aidata, et kuidas saaks need valged vahed sealt vahelt ära koristada..?
http://www.upload.ee/image/4024068/Capture.PNG

See funktsioon selline:
function showGrid() {
var y,x;

for (y=0;y<gridy;y++) {
for (x=0;x<gridx;x++) {
document.write ('<a href="javascript:gridClick('+y+','+x+');"><img name="pc'+y+'_'+x+'" src="sea1.jpg" width=40 height=40 ></a>');
}
document.write('<br>');
}
}
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Fukiku
Kreisi kasutaja
Fukiku

liitunud: 06.11.2003




sõnum 27.04.2014 17:25:08 vasta tsitaadiga

CSS-ist vastavate elementide margin/padding numbritega paika timmida?
_________________
Foxic is just a simple fox
Enne kui sa küsid oma küsimuse - küsi seda vannipardilt! Rangelt soovitatav enne programmeerimise alafoorumisse uue teema tegemist.
Kommentaarid: 2 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 2
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 27.04.2014 21:40:25 vasta tsitaadiga

Ok, ma sain selle, aga nüüd juhtus mingi jama, chrome brauser jooksis kokku, tegin arvutile force restardi ja peale restarti avasin html faili, ning kogu sisu kadunud:
Kas on võimalik see kuidagi sealt kätte saada, ei tahaks seda uuesti küll kirjutada..

http://www.upload.ee/download/4024936/2914b0e8f20cbe3e893/Mang.html
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 28.04.2014 01:32:17 vasta tsitaadiga

See html fail on tühi / vigane.

Browseris kirjutasid seda mängu või?
Kasuta ikka selleks ettenähtud tööriistu, siis ei lähe töö niimoodi kaduma.

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 03:45:27 vasta tsitaadiga

notepad++ kirjutasin (salvestasin pidevalt)

ei kujuta ette kuidas see sai juhtuda, arvuti jooksis kokku, tegin nupust resa ja tulemus selline..
Tegin uuesti selle valmis:

Nüüd selline küsimus, et, mul on tsükkel, mis joonistab horisontaalselt 6 pilti. Tahaksin teha nii, et ta joonistaks 1 pildi iga sekundi tagant..

for (i = 6; i< 12; i++) {
ctx.drawImage(preloaded[i],i*tile_size-80, 160);
}

proovisin juba setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000); ning proovisin ka nii, et kogu for tsükli panin selle sisse:
setTimeout(function{siia kogu for tsükkel}, 1000);

Aga ikkagi ta joonistab need 6 pilti korraga valmis ( ootab alguses 1 sekundi ja siis teeb korraga need valmis..
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
1dumbpcuser
HV Guru

liitunud: 05.03.2002




sõnum 28.04.2014 08:28:33 vasta tsitaadiga

tsitaat:

proovisin ka nii, et kogu for tsükli panin selle sisse:
setTimeout(function{siia kogu for tsükkel}, 1000);

Vastupidi peaks ju olema icon_smile.gif "Ootamine" peaks for tsükli sees olema icon_rolleyes.gif

_________________
O: Low-profile pci bracket
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 95
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 09:27:20 vasta tsitaadiga

no, ma proovisin ka nii, aga ei midagi..

for (i = 6; i< 12; i++) {
setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000);
}
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
1dumbpcuser
HV Guru

liitunud: 05.03.2002




sõnum 28.04.2014 09:44:57 vasta tsitaadiga

"i" on enne for-tsüklit defineeritud? Või proovi
for
    (var i=6;.....
http://www.w3schools.com/js/js_loop_for.asp icon_rolleyes.gif
_________________
O: Low-profile pci bracket
Kommentaarid: 100 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 95
tagasi üles
vaata kasutaja infot saada privaatsõnum mine selle kasutaja kodulehele
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 10:46:01 vasta tsitaadiga

Proovisin ka nii, aga tulemus on sama ikka..

for (var i = 6; i< 12; i++) {
setTimeout(ctx.drawImage(preloaded[i],i*tile_size-80, 160), 1000);
}
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 28.04.2014 11:12:04 vasta tsitaadiga


var turns = 1;
var interval = setInterval(function() {
  ctx.drawImage(preloaded[turns],turns*tile_size-80, 160);
  turns++;
  if(turns > 6) {
    clearInterval(interval);
  }
}, 1000);


ja selgituseks miks su setTimeout for loopis ei toimi:
Javascript on async ja setTimeout on non-blocking. Mis tähendab et for loop jookseb ära pannes ülesse 6 setTimeouti mis igaüks lõppeb 1000ms'i pärast. Tulemuseks ongi see, et kõik timeoutid lõppevad üheaegselt, kuna need tehti üheaegselt.
Selleks, et see kood töötaks, peaksid sa korrutama setTimeouti limiidi loopitava muutujaga. Siis setitakse 6 timeouti mis igaüks lõppeb 1000s hiljem kui eelmine. Samuti on sul anonymous funktsioon puudu

Seega töötav variant oleks:

function drawImage(i) {
  setTimeout(function() { ctx.drawImage(preloaded[i],i*tile_size-80, 160); }, 1000*i);
}

for (var i = 1; i <= 6; i++) {
  drawImage(i);
}

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."


viimati muutis Redikate 28.04.2014 12:00:57, muudetud 4 korda
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 11:13:18 vasta tsitaadiga

Hmm, ei mõju ka see..
Selle viimasega täideti ainult 1 ruut selle pildiga ära (ja see ruut, mis jäi sellest i vahemikust välja ehk mul on laev 6 ruutu horisontaalselt ning see pilt läks seitsmendasse ruutu), (eeldusel, et for tsükli panin sellele ümber). Kui for tsüklit polnud, siis ei juhtunud mitte midagi..
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 28.04.2014 11:20:32 vasta tsitaadiga

Eee jah. Seal intervali variandis on mul see i muutuja sisse ununenud mida seal ei ole üldse olemaski. muuda i ära turns'iks ja võiks toimida.

E: Muutsin oma postis koodi ka.

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 11:58:36 vasta tsitaadiga

Ok, praegu on näha, et ta iga sekundi tagant tekitab selle pildi (pildi ääred tumenevad), aga millegipärast tekib see ikkagi kõik samasse ruutu, et nagu for tsükkel ei liigu edasi vms..

E:
Panin console'i välja printima ja kui peale for tsüklit kohe console.log(i);
for (var i = 0; i <6; i++) {
console.log("Algus: "+i);
siis prindib 0, 1, 2, 3, 4, 5

aga siin printides tuleb ainult 6 (kuigi tsükli tegin 0-5..)
setTimeout(function() {
console.log(i);
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 28.04.2014 12:03:01 vasta tsitaadiga

Muutsin for'i koodi ka siis oma postis. Kerge variable reference logic error oli mul.
Probleem on lihtne, kuna kõik timeoutid kasutavad sama muutujat "i" siis selleks ajaks kui timeoutid jooksevad on i väärtus 6.

Uuendatud kood teeb i'st koopia ning seega i väärtus ei muutu timeouti jaoks.

_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 28.04.2014 21:48:56 vasta tsitaadiga

Suured suured tänud, sain toimima..

E: võimalik, et küsin veel lähipäevil paari asja kohta..

Mul küsimus veel ühe asja kohta:
Nimelt, kui koodis kusagil console.log(subs); printida, siis annab undefined, sama on tglt kõigi kohta, aga imelik on et näiteks seconds väärtus on olemas (printides annab ikka undefined), kuna hakatakse alguses 15'st alla lugema..
<body onload="load()">
function load() {
soundOn = true;
oigus = true;
var subs = 1; // allveelaevade arv
level = 1;
seconds = 15;
}
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
kuunar
Kreisi kasutaja

liitunud: 20.02.2009



Autoriseeritud ID-kaardiga

sõnum 29.04.2014 02:03:11 vasta tsitaadiga

Raske öelda nii mis sul toimub seal üldse. Võibolla selline juhtum.


/* Globaalsed muutujad */
var soundOn,
    oigus,
    level,
    seconds;

function load() {
    var subs = 1; // allveelaevade arv
   
    soundOn = true;
    oigus = true;
    level = 1;
    /* Väärtus globaalsele muutujale seconds */
    seconds = 15;
   
    /* Prindib funktsiooni load muutuja subs */
    console.log(subs);   
   
    /* Prindib muutuja seconds, sest see on globaalne */
    console.log(seconds);
}


/* Mingi teine funktsioon */
(function() { 
    /* Ei prindi muutujat subs, sest sellist muutujat pole */
    console.log(subs);
   
    /* Prindib muutuja seconds, sest see on globaalne */
    console.log(seconds);
}());

/* Ei prindi muutujat subs, sest sellist muutujat pole */
console.log(subs);

/* Prindib muutuja seconds, sest see on globaalne */
console.log(seconds);

Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
multizync
HV kasutaja
multizync

liitunud: 23.05.2005




sõnum 29.04.2014 08:07:20 vasta tsitaadiga

Kõik muutujad on mul deklareeritud kohe scripti sisse
<script>
siiiin (mitte kusagil funktsiooni sees, load() funktsiooni sees ainult väärtustan)
</script>
Kommentaarid: 20 loe/lisa Kasutajad arvavad:  :: 1 :: 0 :: 18
tagasi üles
vaata kasutaja infot saada privaatsõnum
Redikate
HV veteran
Redikate

liitunud: 30.12.2005




sõnum 29.04.2014 12:41:19 vasta tsitaadiga

Mina loen väga selgelt välja et load() funktsiooni sees on sul "var subs = 1;" mis tekitab subs vari funktsiooni skoobis.



var foo = 1;

function load() {
  var foo = 2;
}

load();
console.log(foo); // prindib 1



_________________
http://nodejs.org/
"I'm also a person. Programming is just one thing I do."
Kommentaarid: 34 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 33
tagasi üles
vaata kasutaja infot saada privaatsõnum
kuunar
Kreisi kasutaja

liitunud: 20.02.2009



Autoriseeritud ID-kaardiga

sõnum 29.04.2014 12:42:37 vasta tsitaadiga

no subs on sul ju load-is? seconds kohta ei tea, sest pole ülejäänud kremplit näinud.
Kommentaarid: 14 loe/lisa Kasutajad arvavad:  :: 0 :: 0 :: 13
tagasi üles
vaata kasutaja infot saada privaatsõnum
näita postitusi alates eelmisest:   
uus teema   vasta Tarkvara »  Programmeerimine »  HTML5 + javascript
[vaata eelmist teemat] [vaata järgmist teemat]
 lisa lemmikuks
näita foorumit:  
 ignoreeri teemat 
sa ei või postitada uusi teemasid siia foorumisse
sa ei või vastata selle foorumi teemadele
sa ei või muuta oma postitusi selles foorumis
sa ei või kustutada oma postitusi selles foorumis
sa ei või vastata küsitlustele selles foorumis
sa ei saa lisada manuseid selles foorumis
sa võid manuseid alla laadida selles foorumis



Hinnavaatlus ei vastuta foorumis tehtud postituste eest.