- Ivqkzy-: 2. gépem
- sh4d0w: Árnyékos sarok
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- ldave: New Game Blitz - 2025
- hdanesz: Elektromos autózás - első élmények
- droidic: EA GAMES – élő emberrel a supportban 2025 ben
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- eBay-es kütyük kis pénzért
- Ivqkzy-: Eddig
-
LOGOUT
JavaScript != Java (A JavaScript nem összekeverendő a Javával, két különböző programozási nyelvről van szó!)
Új hozzászólás Aktív témák
-
trisztan94
őstag
válasz
libamajas #5697 üzenetére
"alert helyére képet szeretnék tenni, ha hideg ,akkor ilyen kép ha meleg akkor olyan."
Nagyon nagyon parasztul így lehet megcsinálni a kép kirakást csak javascripttel (+ egy kep id-jű div-el).
document.getElementById("kep").innerHTML('<img src="hideg.jpg" alt="Hideg idő kép"/>');
Értelem szerűen a meleg ágba pedig a meleg.jpg-t kell rakni.
-
Zedz
addikt
válasz
libamajas #5695 üzenetére
A szakma nyelve az angol, ha ezzel szeretnél foglalkozni, akkor szerintem kezdj el angolozni.
A megoldásod pedig nem jó:
if (napokHomerseklete <= 5) { ... }Honnan fogja tudni, hogy éppen melyik nap hőmérsékletét vizsgálja meg? Valami lemaradt.
(#5697) libamajas: "alert helyére képet szeretnék tenni, ha hideg ,akkor ilyen kép ha meleg akkor olyan."
Szerintem Google barátunk egy ügyes kereséssel 5 perc alatt kidobja a neked megfelelő választ. Esetleg még ide is ellátogathatsz.
-
CSorBA
őstag
válasz
Speeedfire #5696 üzenetére
-
libamajas
tag
válasz
Speeedfire #5696 üzenetére
Mivel egészítenéd ki?
alert helyére képet szeretnék tenni, ha hideg ,akkor ilyen kép ha meleg akkor olyan.
-
libamajas
tag
válasz
Speeedfire #5694 üzenetére
Magyarba nincs?
Szerk: De egyébként ez a megoldás jó?
var napokHomerseklete = [
10, -20, 5, 8, 12
];for (var i = 0; i < napokHomerseklete.length; i++) {
if(napokHomerseklete <= 5) {
alert("hideg");
} else {
alert("meleg");
}
} -
Speeedfire
félisten
válasz
trisztan94 #5693 üzenetére
Itt az alapokkal is baj van.
libamajas: Javaslom, hogy ezt fusd át. -
trisztan94
őstag
válasz
libamajas #5692 üzenetére
Lehet én vagyok fáradt, de még mindig nem értem mit akarsz a var = 0-val.
A var javascriptben változót jelöl.
Így használjuk: var változóneve = változóértékfor ciklusnak pedig ez a szintaktikája:
for (var i = 0; i < 10; i++)
Ami azt jelenti, hogy előteszteléses ciklust indítasz egy helyi scope-ban értelmezett i változóval, melynek kezdőértéke 0, és minden ciklusban növekszik egyel amíg a feltétel igaz (tehát hogy kisebb, mint 10)
A var = 0 nem jelent semmit, hibát fog dobni.
-
libamajas
tag
válasz
trisztan94 #5691 üzenetére
Var=0
A css html nem g
Annyira lenyeges. A javascript a fontos. -
libamajas
tag
válasz
trisztan94 #5689 üzenetére
Ezt lehet így is?
"var i = 0" ==> var=0?(I)A feladatnak nagyjából úgy kell kinéznie mint az idokep.hu-nak.
(/I)
-
trisztan94
őstag
válasz
libamajas #5688 üzenetére
var napokHomerseklete = [
10, -20, 5, 8, 12
];
for (var i = 0; i < napokHomerseklete.length; i++) {
if(napokHomerseklete[i] <= 5) {
alert("hideg");
} else {
alert("meleg");
}
}Valahogy így. Az alertek helyére pedig berakod a logikát ami kiírja a megfelelő helyre a megfelelő infót.
-
libamajas
tag
Sziasztok.
Programot kell írnom, ami Hétfőtől Péntekig kidobja a Celsius fokot és eldönteni hogy hideg van-e meleg van-e, mellé meg kitesz egy képet pl: ha hideg van akkor egy téli képet kitesz, ha mondjuk meleg van akkor értelem szerűen napos képet.
Hogy lássak hozzá?
Köszönöm előre is!
-
Karma
félisten
válasz
PumpkinSeed #5685 üzenetére
Remélem nem gondolod komolyan, hogy ezt a spagettit bárki visszafejti, és kapásból rámutat, az algoritmusod melyik ponton hibás, hogy fekete csíkokat kapsz az elején. Javaslom a favágó módszert, hátha kiderül, melyik függvény hibás.
A második anomália viszont egyszerű technikai jellegű: létrehozol egy 300x150-es canvast - default értékek, ha elfelejtenéd a width/height attribútumot beállítani rajta HTML-ben -, aztán szétnyújtod kódból állított mérettel
. Ennek az eredménye skálázás lesz.
Elkerülhető például, ha a canvast kódból hozod létre, pontosan beállítva a méreteket.
-
PumpkinSeed
addikt
Van egy képgeneráló programom, ami rendelkezik anomáliákkal. Itt megtalálható.
1. Miért van az, hogy a bal oldalon és fent fekete foltok jelennek meg teljesen random?
2. az mousemove eseményre az egér koordinátáin lévő pontokra új színt generál. Viszont ennek így köze nincs az egér koordinátáihoz, mert inkább olyan mintha a koordinátákat megszorozná 2-vel és fent a bal saroktól indulva teljesen máshoz generálná újra a színeket.
-
martonx
veterán
válasz
TheProb #5676 üzenetére
Bocsánat, azért nem válaszoltam a kérdésedre, mert olyan érzésem volt, mint amikor valaki bejelenti, hogy holnaptól matematikusként akar dolgozni, aztán meg megkérdezi a hallgatóságát, hogy amúgy 2 + 2 mennyi. Nem tudtam eldönteni, hogy ez most mi akart lenni. Bocsánat, máskor majd komolyabban veszem.
-
tzimash
őstag
válasz
PumpkinSeed #5661 üzenetére
Köszi, még nem volt időm alkalmazni, de tetszik
-
Speeedfire
félisten
válasz
fordfairlane #5681 üzenetére
Köszi.
-
fordfairlane
veterán
válasz
Speeedfire #5680 üzenetére
items.push(Object.create(obj));
-
Speeedfire
félisten
Nem jut eszembe, hogy lehet úgy elemet használni, hogy nem frissíti a referencia objektumot, csak azt amit épp módosítok. [link]
Az utolsó console.log() eredménye is 11, pedig én azt "meg szeretném hagyni" eredetinek.
-
DNReNTi
őstag
válasz
PumpkinSeed #5675 üzenetére
Ahan. Nem görgettem le.
-
fordfairlane
veterán
válasz
zulu_mester #5672 üzenetére
A change event input és textarea esetén a focus elvesztésekor aktivizálódik.
-
TheProb
veterán
válasz
DarkByte #5670 üzenetére
Itt a feladatleírás, lehet én értelmezek rosszul, de nekem ebből az jön le, hogy százalékosan kell megvalósítani azt amit akar.
Label ID-t tényleg megcseréltem, fáradt voltám már, valszeg azért nem szúrtam ki a dolgot.
(#5669) martonx: Erre most milyen választ vársz? Attól, hogy JS-hez még hülye vagyok attól még statikus oldalakat képes lehetek csinálni nem? Főleg, hogy kb mindennek le van írva, hogy mit hogyan. Plussz azért tanulom, hogy a későbbiekben tudjam. De amúgy érdekes, mert választ nem nagyon adtál a kérdésre.
u.i.: Módosítottam a kódot, így már nem közvetlen %-ban adom meg a méretet, hanem az eredeti méretet szorozgatom meg a tekergető által generált értékekkel, így jónak tűnik.
-
DNReNTi
őstag
válasz
PumpkinSeed #5673 üzenetére
Csak inkább eventListener-rel ne inline.
elem.addEventListener('change', function(){
//feltételvizsgálat, és validáció
}); -
PumpkinSeed
addikt
válasz
zulu_mester #5672 üzenetére
-
zulu_mester
tag
Sziasztok!
Milyen eseménykezelővel lehet egy input értéket validálni a mező elhagyásakor? Írj példakódot ami megvizsgálja hogy a mezőben 1 és 100 között szám van e?
Előre is köszi a segítséget. -
PumpkinSeed
addikt
válasz
Sk8erPeter #5668 üzenetére
Olvastam, viszont már nagyjából működésre bírtam. Viszont ha deprecated akkor ezt a MediaStream-et kellene használni? Csak mert az elérhető tutoriálok 99,999%-a getUserMedia-t használ. :/
-
DarkByte
addikt
válasz
TheProb #5667 üzenetére
Mivel HTML kódhoz csak ritkán nyúlok így lehet nem írom pontosan, de
1) az img tagnél a magasságot tudtommal csak pixelben lehet megadni, nem százalékban. A magasság csúszka ezért nem csinál semmit
2) szerintem ha csak egyik tengely mentén van megadva a méret akkor az img alapesetben aránytartóan jeleníti meg a képet
3) mert a label p-k id-it összecserélted
4) ezt nem értem, nálam már 1 tizedes jegyig írja ki hogy mit választasz. Gondolom közben módosítottad a kódot -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #5663 üzenetére
Chrome-ban (46.0.2490.86 m) az if (navigator.getUserMedia) feltétel nem is teljesül ebben a formában, mert az undefined. A navigator.webkitGetUserMedia függvény viszont létezik.
Jobb fallback így néz ki:
Capturing Audio & Video in HTML5
http://www.html5rocks.com/en/tutorials/getusermedia/intro/navigator.getUserMedia = navigator.getUserMedia ||
navigator.webkitGetUserMedia ||
navigator.mozGetUserMedia ||
navigator.msGetUserMedia;Olvasd el a cikk többi részét is, elég jól összefoglalja a témát.
Szerk.:
https://developer.mozilla.org/en-US/docs/Web/API/Navigator/getUserMedia
Most látom, a Navigator.getUserMedia() deprecated. -
TheProb
veterán
Sziasztok!
Az alábbi kis kódban vannak gondjaim, megtudnátok mondani, hogy mi okozza?
1. Miért csak a vízszintes méretezés csúszkája működik?
2. Miért változik a függőleges méret is ha csak a szélességet változtatom?
3. A vízszintes csúszka mozgatásával miért a függőleges szövege változik?
4. Hogyan tudok 1 tizedes pontossággal kiíratni értéket a <p> tag-be? (.toFixed-el nem csinál semmit) -
PumpkinSeed
addikt
válasz
PumpkinSeed #5665 üzenetére
Megfogta az adblock a kamerához való engedélykérést...
-
martonx
veterán
válasz
PumpkinSeed #5663 üzenetére
Nem azért de win 10 Edge böngészővel ez simán működik.
-
PumpkinSeed
addikt
El akarom kapni a felhasználó webkamera képét. De mikor tesztelem ez egyáltalán nem működik. Semmilyen hibaüzenetet nem kapok, és a böngésző se kér engedélyt a webkamerámhoz. Itt a kód. Eredetileg egy Go backend alatt fut, de kipróbáltam PHP alatt és akkor sem ment. Olvastam, hogy elvben az volt a baj először, hogy csak simán az index.html-t futtattam, de miután szervert tettem mögé úgy sem javult meg, és nem tudom mit rontok el.
-
Karma
félisten
válasz
PumpkinSeed #5661 üzenetére
Az irány jó szerintem, bár a közvetlen színállítás helyett jobb lenne a bodyn classokat állítani, és a CSS-re hagyni ezeknek a "témáknak" a megvalósítását.
-
tzimash
őstag
Hali.
Azt milyen módon lehet megoldani, hogy egy (két) legördülő menüből kiválasztom a háttér és a betű színét és az oldal ennek megfelelően változik? -
DNReNTi
őstag
Hola,
CKEditor-ral szívok.
Be akarom állítani, hogy ne escape-elje a HTML elemeket és ékezetes karaktereket stb-t, de hiába állítom be a konfigban, b*szik rá.
config.js:
config.entities = false;
config.entities_latin = false;Ha kilogolom a létrehozáskor akkor mindkét tulajdonság true.
Ha létrehozáskor állítom be, akkor rendben van.
CKEDITOR.config.entities = false;
CKEDITOR.config.entities_latin = false;Wtf?!
Nem hiszem hogy ez a normális megoldás. -
don_peter
senior tag
Uraim, kérnék egy kis segítséget.
Van egy cookie amibe tárolok szöveget.
Az első sortörésig működik is rendesen, de ha egy enter sortörés kerül a szövegbe, akkor onnantól semmi nem tárolódik már. (ameddig nincs sortörés addig persze meg van a szöveg)
Meg lehet ezt oldani, hogy a sortöréseket illetve az azutáni szöveget is eltárolja az adott cookie? -
Zedz
addikt
válasz
Speeedfire #5653 üzenetére
Manapság már mindent kevernek mindennel, és lassan mindent Javascriptben akarnak megírni.
-
Speeedfire
félisten
Lehet volt már, nem tudom mindenesetre egész jól hangzik csak olyan félkész feelingje van. angular-meteor
Ötvözi a meteor-t és az angular-t. Sajnos windows alatt nem megy a mobil rész, ezt ahogy nézem hónapok alatt nem oldották még meg. Illetve az ionic szekció sem fedi le a valóságot.
Az angular2 szekció is nagyon jó. TS-ben megírod a kódot és a meteor átforgatja, hogy régebbi böngészőkkel is kompatibilis legyen.
Kíváncsian várom, hogy mi lesz a projekt sorsa. -
dqdb
nagyúr
válasz
tzimash #5649 üzenetére
var eredmeny=[];
Előre azt mondtad, hogy az eredmény 12 elemű tömb lesz, de nem írtál bele annyi elemet, így a maradék undefined értéket vett fel. A new Array() helyett inkább a sokkal tömörebb [] szintaktikát használd.
for(i=0;i<12;i++)
{
document.getElementById("tomb").innerHTML = tomb;
}Itt a for ciklusnak semmi értelme sincsen.
Szűrésre és egyéb tömbbel kapcsolatos műveletekre érdemes használni a JS filter/reduce/map feature-jeit, ha lehetőséged van rá, mert sokkal tömörebb és átláthatóbb kódot eredményez:
var eredmeny = tomb.filter(function(e) {
return e % 3 === 0;
});Csak akkor használd a == és != operátorokat, ha szükséges a konverzió, minden egyéb esetben a === és !== operátorokat használd.
Legyél konzekvens a központozásban, tedd ki mindig a space-eket az operátorok elé és mögé, valamint a sorok elejére a megfelelő behúzást.
for(n=0;n<12;n++)
if(tomb[n]%3==0)
{
eredmeny[j]=tomb[n];
j++;
}
document.getElementById("three").innerHTML = eredmeny;
}És kerüld az ilyen eseteket, mert első ránézésre azt hinné az ember, hogy az innerHTML módosítása is a for cikluson belül történik, ezért tedd ki a kapcsos zárójeleket:
for (n=0; n < 12; n++)
{
if (tomb[n] % 3 === 0)
{
eredmeny[j] = tomb[n];
j++;
}
}
document.getElementById("three").innerHTML = eredmeny;Vagy a JavaScript szokások szerint írva:
for (n=0; n < 12; n++) {
if (tomb[n] % 3 === 0) {
eredmeny[j] = tomb[n];
j++;
}
}
document.getElementById("three").innerHTML = eredmeny; -
tzimash
őstag
üdv!
Adott egy feladat, amelyben generálni kell 12 véletlen számot majd megkeresni közülük a 3-mal oszthatókat, végül kiíratni. Működik is, csak a képen látható dolog zavar, a vesszők ott maradnak... ki lehetne azokat szedni onnan valahogy?A kód (ne kössetek bele, első ilyen js feladatom, és örülök, hogy működik
<script>
function genrand()
{
var tomb=new Array(12);
var eredmeny=new Array(12);
var i, j;
for(i=0;i<12;i++)
{
tomb[i]=Math.ceil(Math.random()*11)
}
for(i=0;i<12;i++)
{
document.getElementById("tomb").innerHTML = tomb;
}
j=0;
for(i=0;i<12;i++)
if(tomb[i]%3==0)
{
eredmeny[j]=tomb[i];
j++;
}
document.getElementById("three").innerHTML = eredmeny;
}
</script> -
inf3rno
nagyúr
válasz
TheProb #5645 üzenetére
Ha megnézted volna, a konzolt, akkor látszott volna benne, hogy a getElementById null-t ad vissza, ami meg csak azért lehet, mert rossz id-t adtál meg.
Ha most tényleg jól megy, akkor ez lehet az 1.0. Ha van kedved tovább fejleszteni, akkor javaslom, hogy ahelyett, hogy az input-okat járod be az ellenőrzésnél, csinálj 2d tömböt a tartalmukból, és azt járd be. Ez elsőre plusz munkának tűnik, de így közvetlenül a "model"-en tudsz dolgozni, és cserélni tudod, hogy honnan és hogyan olvasod be azt. Következő lépésnek be lehetne tenni egy olyan, hogy az input.onchange eseménynél olvasod be minden cellából az értéket, a 2d tömbödbe, ahelyett, hogy gombnyomásra tennéd ezt. Így a gomb teljesen feleslegessé válna, helyette minden változásnál futtathatnád az ellenőrzést automatikusan. Ez mondjuk lehetne a 2.0. Következő lépésnek betehetnél két táblázatot ugyanahhoz a model-hez, és az lenne a feladat, hogy szinkronban tartsd őket. Szóval ha az egyikben változik egy cella tartalma, akkor a másikban is változnia kéne, ez már egy komolyabb data binding, lehetne 3.0. Utána csinálhatnál olyat, hogy külön ablakban van a két táblázat, és úgy tartod szinkronban a cellák értékeit, ez lehetne 4.0. Nagyjából ennyi amit ki lehet hozni a témából. Gondolom egy kis fantáziával még képeket is lehetne generálni a számok alapján, stb.
-
TheProb
veterán
válasz
inf3rno #5644 üzenetére
Bakker..., tényleg, köszi. Sztem az életbe nem jöttem volna rá, hogy azt írtam el...
Meg is csináltam, elvileg jól működik. Legalábbis nekem úgy tűnik 1-2 teszt után.
-
TheProb
veterán
válasz
martonx #5640 üzenetére
Kicsit hegesztettem rajta, ellenben továbbra se húzza be az adatokat a mezőkből. Kezdi már felhúzni az agyamat ez a sz@r... Amúgy jó tudni, hogy olyan formában nem is lehetett volna csinálni 2d-s tömböt ahogy akartam...
Ha nincs .value a getElement után akkor "undefined", ha ott van akkor meg rinyál a chrome console-ja érte.
Valaki már igazán megmondhatná, hogy a francba kell megcsinálni ezt a szutyok feladatot, mert ezekkel nemigen vagyok előrébb, amiket leírsz. Annak aki már ismeri a nyelvet annak biztos segítenek valamit a rávezetéseid, de olyannak aki kb a 0-ról indul neki annak nemsokat...kb. 2.napja csak azzal szívok, hogy a nyűves adatokat kiszedjem a megadott input mezőkből, azért ez vicc.
-
martonx
veterán
válasz
Sk8erPeter #5641 üzenetére
Csak igyekeztem megragadni a kollégának a probléma lényegét
A displayDate tényleg csak elírás volt, elfelejtettem a legvégén rányomni az update-re, így végül valami régebbi verziót linkeltem be -
Sk8erPeter
nagyúr
válasz
PumpkinSeed #5632 üzenetére
"Adsz egy id-t 0-48-ig az űrlapmezőknek, majd ezt for-al kiolvasod"
He? Ezt most tényleg leírtad?
Az id-k aztán pont nem segítik az elemek bizonyos jellemzők szerinti általános, közös kezelését, hiszen azok egyedi azonosítók, azt az EGY bizonyos elemet találod meg a felhasználásukkal, pont az a lényegük.
Ilyesmire az osztályok valók, vagy egyéb közös tulajdonságok felhasználásával (pl. a tag neve, attribútumok, ilyesmik) is lehet azonosítani a közös viselkedéssel felruházni kívánt elemeket.(#5636) PumpkinSeed:
"Amúgy ez így szerintem undorító, már megbocsáss (nem szoktam így fogalmazni). Sokkal szebb lenne, ha az inputokat is JS-el generálnád. appendChild vagy valami hasonló függvény az ami neked kell ehhez."
A lényeg szempontjából teljesen mindegy, hogy hogyan készülnek el az elemek, egyáltalán nem lesz attól "undorító", hogy a HTML-kimenetben egyből ott van a táblázat összes eleme, egyrészt úgy nem JavaScript-kóddal kell minden elemet elkészíttetni (ez erőforrás-spórolást jelent), másrészt elkészítheti az elemeket a szerveroldal is, és bele is pakolhatja egyből adott esetben az input-elemek értékeit is (amiket pl. adatbázisból szed). Nem láttam az eredeti kódot, de az önmagában biztosan nem jelent problémát, és nem is csúnya, ha a HTML-kódba "égette bele" az elemeket, amiket viszont kliensoldalon kellene manipulálni/ellenőrizni.(#5640) martonx:
"Azért nem moccant meg a js-ed, mert ha onload-ot használsz a js kódod wrapperének, akkor az inline js eventnél nincs scope-on belül."
Tetszett ez a mondat, szerintem ebből a kolléga egy büdös árva szót nem értett.Nekem is kétszer kellett elolvasnom, hogy felfogjam.
Amúgy a kódban az a displayDate callback csak valami elírás (a check helyett).
-
martonx
veterán
válasz
TheProb #5639 üzenetére
Azért nem moccant meg a js-ed, mert ha onload-ot használsz a js kódod wrapperének, akkor az inline js eventnél nincs scope-on belül. Szóval megoldás lehetett volna, simán body-ba rakni a js-t, vagy header-be. Amúgy sem illik inline eventeket használni, úgyhogy átalakítottam, normális event bindingra, és meghagytam az onload-ot. Így legalább már megmoccan a js
Ránézésre egy rakás hibát látok benne, de így már el tudsz indulni. Ettől kezdve a feladatnak nulla köze a js-hez, szimpla programozás feladat bármilyen nyelven. Figyelj oda a kismillió hibádra, de direkt nem akarom a poénokat lelőni, vannak nagyon triviálisak is közöttük.Ja és a friss link: [link]
-
TheProb
veterán
válasz
martonx #5638 üzenetére
Úgy néz ha collaboration-t indítok akkor az a session végén "megsemmisül"
Itt van normálisan. Ahogy látom teljes kapufa amivel próbálkozok amúgy, mert még az alert se jön fel, amit próbaként írtam, ha rányomok a gombra.Nem tudtok olyan kódoló tutorialt, ahol html-el kombinálva kell JS-t használni? Olyanra gondolok, mint ami codeschool-on is van, de ugye az csak pure JS, csak az alapokkal. Mert nagyon úgy érzem, közöm nincs ahhoz, hogy a html elemeket manipuláljam, "lekérdezzem".
-
TheProb
veterán
válasz
PumpkinSeed #5636 üzenetére
Most tanulnám JS-t, kb a 0-ról, szóval egyelőre ilyenek még had ne legyenek triviálisak
Egyelőre a feladatban leírtakat szeretném, hogy megtudnám csinálni, utána majd szépítek. -
PumpkinSeed
addikt
válasz
TheProb #5635 üzenetére
Igazából teljesen mindegy mivel olvasod ki, megfelelő matematikai műveletek használatával az 1 dimenziós tömböt is fel tudod ugyan úgy dolgozni mint a 2 dimenziósat.
Amúgy ez így szerintem undorító, már megbocsáss (nem szoktam így fogalmazni). Sokkal szebb lenne, ha az inputokat is JS-el generálnád. appendChild vagy valami hasonló függvény az ami neked kell ehhez.
Ez az új JSFIDDLE nagyon jó lett, lazán lehet oktatásra is használni.
-
TheProb
veterán
válasz
martonx #5631 üzenetére
Nem bizonygatni akarom, hogy mennyire foglalkozok vele, ötletet kértem, hogy hogyan nyerem ki az input mezőkből az adatokat... Amit most leírtál az már pont megvan, ezért kérdeztem a JS részét a dolognak...
(#5632) PumpkinSeed: Köszi, ez már használható infó. Guglizással csak arra jutottunk, hogy magának a táblának adok pl ID-t és azt egy az egyben getElementsByTagName("TD")-el dobom be egy array-be, de az nem volt jó.
-
TheProb
veterán
Sziasztok!
Suliban épp JS-t tanulok, de az oktatás színvonala kb -1..., ellenben a következő minta vizsgával nem nagyon tudok elindulni. Tudnátok segíteni?
Itt a feladatleírás:
Készítsen olyan HTML5 weboldalt, amin elhelyez egy 7x7 méretű táblázatot, melynek minden eleme egy-egy egész szám megadására alkalmas beviteli mező! A számoknak az [1; 7] zárt intervallumba kell esniük. A táblázat legyen egy űrlap része! Az űrlapon helyezzen el egy küldés (submit) gombot is, „Ellenőriz” felirattal!
Készítsen JavaScript nyelven olyan eseménykezelő szubrutint, ami a gombra kattintást (pontosabban űrlap „elküldést”) követően ellenőrzi, hogy minden mezőt kitöltöttek-e! Ha nem, ezt felbukkanó ablakban közli. Ha igen, akkor ellenőrzi, hogy a táblázatba bevitt értékek latin négyzetet alkotnak-e. Akkor beszélünk latin négyzetről, ha a táblázat minden sorában és minden oszlopában a 7 lehetséges érték pontosan egyszer fordul elő.Igazából a legeleje a homály, hogy hogyan szedem ki a táblázatból az egyes értékeket, hogyan rakom bele 2d-s array-be? Aztán lehet a továbbiaknál is vakarnám a fejemet, de jelenleg az elindulást nemtom.
-
DNReNTi
őstag
Ha már úgyis Angular a téma. Nekem egy inkább elméleti/logikai kérdésem lenne:
Pár hete kezdtünk el egy új projektet ami PHP backend (Codeigniter) és Angular frontend-en megy elszeparálva szépen ahogy a nagykönyvben. Ebben a projektben az Angular kísérleti jelleggel van benne, nem vagyok nagy ninja, de így legalább megismerkedem vele én is. Nos a kérdés pedig a tyúk vagy a tojás esete kissé. Hogy a view-kat ne gányoljam össze ezért azokban már csak Angular kifejezéseket használok PHP-t nem, tehát pl egy felhasználói profil megjelenítésekor nem a PHP objektumot jelenítem meg (az nincs is, felesleges lenne), hanem oldalbetöltéskor AJAX lekéri adott felhasználót, majd az Angular írja ki az adatokat. Az Angular modul, a view-al együtt töltődik be, így mindenképpen várni kell az AJAX válaszra, amit jelenleg úgy oldottam meg, hogy megjelenik egy kis betöltés gif, aztán ha megjött az adat, megjelenik helyette a profil. Meg lehet e oldani, szépen, nem hákolva, hogy maga a view csak akkor töltsön be, ha már megvan az AJAX response? Szerintem hülyeség már maga a kérdés is, de inkább megkérdezem mi a helyes eljárás. -
slice14
veterán
Sziasztok
Az időjárás cucnál van egy érdekesség. Ez van js-ben megadva az jelenlegiidojaras kiíratásához.
Jelenlegiidojaras = Weather.current_observation.weather; if (Jelenlegiidojaras == undefined) {
setGlobal('%Jelenlegiidojaras',"N/A "); } if (Jelenlegiidojaras != undefined) {
Jelenlegiidojaras2 = convert( Jelenlegiidojaras, 'htmlToText');
setGlobal('%Jelenlegiidojaras',Jelenlegiidojaras2); }Viszont a json-be ha hiányzik, az adat, akkor a változónevét írja ki.
"weather":"",
Valami ötlet?
-
DNReNTi
őstag
Én codeschool-on néztem meg az ingyenes tutorialokat, az szerintem nagyon jó, alapoktól megy és szájbarágós, példálózós. Bár szerintem te ezen a szinten már túl vagy.
Ha mégsem akkor megéri rászánni az időt, meg lehet érteni belőle a strukturális alapokat. Az offical dokumentáció szvsz egy kalap szar.
-
Jim-Y
veterán
Sziasztok,
Tudnatok ajanlani jo/bevalt angularjs / angularjs2 tutorialt? egghed.io-t nezem, azt nem kell irni
Koszi
-
Headless
őstag
Sziasztok nem tudom mennyire tartozik ide, persze javascript, de google grafikonnal való a kérdésem, Előre is sajnálom, sajnos kicsinyített a kód így nem a legjobb az olvashatósága, próbáltam egy kicsit rajta javítani.
A problémám az, hogy el akarok rejteni adatsorokat a jelmagyarázatra kattintva, volt is egy leírás, az alapján és a commentben lévő javíás szerint meg is csináltam működik is, bizonyos esetekben. Ugyanis ha nincs "tooltip" oszlop az egész adattáblában, akkor úgy működik ahogy kell. Azonban, ha már van egy, akkor kizárólag az első oszlopot rejti el, a többinél már hibát ír, és sajnos ezúttal már nem tudtam megfejteni, az okát, remélem ti tapasztaltabbak vagytok és tudtok segíteni. jsfiddle
-
disy68
aktív tag
A probléma valóban a :hover körül van. Akkor fordul elő ilyen, ha a :hover esemény hatására valamit megjelenítünk/eltüntetünk lehet ez egy háttér is (sima színváltoztatásnál nincs gond). Az általad használt template is sanszosan használ ilyet. Itt olvashatsz megoldásokat.
-
p00h
tag
Sziasztok, kérlek segítsetek.
Joomla weboldalt próbálom konfigurálni (jf-vihrea ingyenes reszponzív template-el), de 1 dolog kifog rajtam: IOS alatt minden linkre 2szer kell nyomni, androidon nincs ilyen gond. Állítólag a hover a baj a css-ben, és neten keresgélve nem 1 ritka probléma, mégsem tudom megoldani. Tény hogy nem vagyok webprogramozó, mégcsak informatikus sem, de eddig kis keresgéléssel mindent meg tudtam oldani, erre nem jövök rá. Több javascriptet kipróbáltam egyik sem működött, vagy ha működött bizonyos linkeknél hibát okozott.
Van erre vmilyen egyszerű megoldás?
Köszönöm! -
inf3rno
nagyúr
válasz
Sk8erPeter #5616 üzenetére
"Ha nem baj, megfordítanám a dolgot: arra mutathatnál nekem olyan általánosítható bizonyítékot, hogy minden esetben gyorsabb összeállítani egy gigarendszerben - annak összes függőségével, aktuális használati esetnek megfelelő konfigurációjával, stb. - egy valóban komplett tesztkészletet egy kisebb/nagyobb feature időre történő fejlesztéséhez, mint TDD/BDD aktuális alkalmazása nélkül azt elkészíteni."
Nem tudok ilyesmiről, de nem nagyon szoktam statisztikák után nyomozni. A kezdeti fejlesztési idő valamivel lassabb, a bug sűrűség viszont sokkal kisebb. Egy tanulmány szerint kb 15-35%-al több időt kell beleölni a projektbe, és valahol 40-90% közötti mértékben esett vissza a release előtti bug sűrűség, máshogy fogalmazva, kevesebb, mint fele annyi bug volt. [link] A 15-35% idő többlet a 2x annyi debug-nál tapasztalatom szerint bőven visszajön. SO-n volt ilyesmi kérdés. [link] Ha ennyire izgat a téma, akkor utánakereshetnél te is, nincs kedvem olyan dolgokra pazarolni az időmet, amiből nem tanulok semmit, max megnyerek egy vitát. A többi már tényleg nagyon off.
-
Sk8erPeter
nagyúr
válasz
inf3rno #5603 üzenetére
"Arra, hogy a TDD/BDD többlet idővel járna mutathatnál valami bizonyítékot, mert pont az ellenkezője igaz."
Ha nem baj, megfordítanám a dolgot: arra mutathatnál nekem olyan általánosítható bizonyítékot, hogy minden esetben gyorsabb összeállítani egy gigarendszerben - annak összes függőségével, aktuális használati esetnek megfelelő konfigurációjával, stb. - egy valóban komplett tesztkészletet egy kisebb/nagyobb feature időre történő fejlesztéséhez, mint TDD/BDD aktuális alkalmazása nélkül azt elkészíteni. Mint minden általánosítás, a tiéd is itt sántít. Ha előre megvan hozzá minden infrastruktúra, valóban csakis mindenki úgy készített kódot, és valóban mindenki töltötte az idejét a minden esetre kiterjedő tesztesetek lefedésével, akkor előfordulhat, hogy nem akkora para, de van, amikor tényleg para.
De hidd el, ezt nem bántásból vagy kötekedésből írtam le, hanem azért, mert a gyakorlat sokszor sajnos messze kell, hogy kerüljön az elméleti bullshittől, még ha az elméleti bullshitnek nyilvánvalóan lehet bőven létjogosultsága."Persze ha nem veszed komolyan az egészet, vagy nem fotnos a minőség, akkor nyugodtan fejleszthetsz tesztek nélkül is."
Hümm, tehát arra, aki valaha életében merészelt leírni TDD/BDD-elvek alkalmazása nélkül kódot céges környezetben (alap, hogy az első kör nem az éles), Te most itt ünnepélyesen kijelentetted, hogy nem veszi komolyan az egészet, meg annak nem is fontos a minőség, értem.
Sajnos nem lettem meggyőzve - de még egyszer megemlíteném, cseppet sem becsülöm le a TDD/BDD előnyeit és szépségeit. (Egyébként meggyőzésként említettél EGY multit, ahol állítólag csak olyan kódot adnak ki a kezükből, ami ezen elvek mentén készül - egyrészt nem tudhatjuk ennek valódiságát, másrészt nem egy nagy merítési minta. De a gondolkodásmódod alapján biztos csakis ott lehet a szakma krémje, ahol ez percről-percre szem előtt van, máshol csak noobok és igénytelen k×csögök vannak.)
-
inf3rno
nagyúr
Ja, ezt én is észrevettem, de engem nem zavar. A grunt-ot én nem szeretem, inkább a configuration by code híve vagyok, amit gulppal meg lehet csinálni. Sokkal rugalmasabb. Ha van kedved összeszórhatnál valami hasonló környezetet makefile-al, kíváncsi vagyok, hogy mi a különbség.
-
Jim-Y
veterán
válasz
inf3rno #5613 üzenetére
"gulp": "^3.9.0",
"gulp-jasmine": "^2.2.0",
"gulp-rename": "^1.2.2",
"gulp-replace-task": "^0.11.0",
"gulp-sourcemaps": "^1.6.0",
"gulp-task-file-loader": "^1.0.0",
"gulp-uglify": "^1.4.2",Nekem ez a bajom a gulppal meg a grunttal is, hogy ezer meg egy dependencia es kb ennyi sorbol meg ennyi kodbol ossze lehet amugy hozni a buildelest mindenfele build tool nelkul. Vagy akar egy makefile.
-
inf3rno
nagyúr
Neki valamilyen deprecated modullal sikerült csak megoldania. Egyébként ja, nagyjából ennyi a történet, de gondoltam, akkor már megcsinálom rendesen olyan formában, amire lehet később hivatkozni, ha felmerül ugyanez a kérdés, meg belövök hozzá teszt környezetet sourcemaps, el, meg minden ilyesmivel. Így is, úgy is kelleni fog nekem a master branch saját projektekhez, a babel-es branch meg nem sokban különbözik, úgyhogy belefér az időmbe, hogy pár órát annak az összevakarására is rászánok.
-
inf3rno
nagyúr
Életemben talán az az első sor, amit ES6-al írtam, annyi volt a cél, hogy legyen gyorsan valami ami ES6 featureöket használ, valid, és tudok hozzá tesztet írni. Sosem használtam babel-t, és nagy valószínűséggel nem is fogok. Az egész babel-es branch-et amúgy nektek szórom össze.
-
Jim-Y
veterán
válasz
inf3rno #5604 üzenetére
FYI:
export function add() {
var result = 0;
for (var i = 0; i < arguments.length; ++i)
result += arguments[i];
return result;
}Ha mar ES6, akkor miert nem hasznalod ugy, ahogy kene, vagy ahogy lehet?
Gondolok itt..
export default (...nums) => nums.reduce((acc, num) => acc + num, 0);
Es ugyanez a tobbinel is.
-
inf3rno
nagyúr
Sikerült közben megtákolnom babel-hez a node teszteket is. [link] most már van náluk is source map, azaz hogy nem tudom, hogy sourcemap, vagy mi alapján megy, de az eredeti fájlokat írja, amikben a hiba keletkezett, a cél meg ez volt.
-
inf3rno
nagyúr
válasz
Sk8erPeter #5602 üzenetére
Én jelenleg hobbi projekteknél fejlesztek így, most éles projektjeim nincsenek. Régebben éles projekteknél még nem ismertem ezeket a technikákat, személyes tapasztalatom annyi, hogy volt olyan projekt, aminél utólag írtam meg a teszteket, és az SQL-ek felében volt kisebb nagyobb hiba, amik nem derültek ki azonnal, mert csak ritkán használt útvonalakról volt szó.
Tudok olyan multiról, ahol TDD + SOLID + OOP alapvető, és a backend-et így fejlesztik, nem véletlenül írtam. Nem hinném, hogy nyugis munkahely lenne, inkább csak elvárják a minőségi kódot, meg egy méret (pár ezer sor) felett széthullik a szemét, amit tesztek nélkül fejlesztesz. A GUI-t nem feltétlen éri meg e2e tesztekről indulva fejleszteni, de azért érdemes lehet bedobni párat a fontosabb feature-ök ellenőrzésére, ha nem is minden apróbb hülyeségre. A DDD egy projekt méret felett éri meg jobban, mint a monolit, én személy szerint ezzel nem értek egyet, próbálom kisebb projekteknél is alkalmazni. Arra, hogy a TDD/BDD többlet idővel járna mutathatnál valami bizonyítékot, mert pont az ellenkezője igaz. Debugra összességében több idő megy el, mint arra, hogy a teszteket előre megírd, és az alapján fejlessz. Persze ha nem veszed komolyan az egészet, vagy nem fotnos a minőség, akkor nyugodtan fejleszthetsz tesztek nélkül is. -
Sk8erPeter
nagyúr
válasz
inf3rno #5598 üzenetére
"Szvsz a TDD nem advanced dolog, hanem alapvető, ha fejleszteni akarsz"
Bocs, de most már muszáj beszólnom, annyira folyamatosan erőlködsz ezzel a TDD-BDD-HDD-SSD-DDD-XXX-ASDASD-QWEQWE-BLABLA-HABLATY-vonallal (:]), hogy kezd már picit irritáló lenni. Azért komolyan kíváncsi lennék, hogy létezik olyan munkahely, ahol a fejlesztők tényleg MINDEN kódot TDD/BDD/akármi-vezérelt elven írnak? Van erre idő? (Persze elméletben ez is létezhet, ahol irreálisan nyugis a tempó.) Csak mert általában a megrendelők várnak a termékükre, a főnökök az eredményre (joggal), majd jön a következő feladat, és így tovább. Vagy ezek csak jól hangzó elvek, amiket a hobbiprojektjeidnél alkalmazol? Mert az egyébként úgy tök jó, és szép dolog, de amúgy akkor még csomó vezérelvhez tartozó mozaikszót vagy buzzwordöt be lehetne dobálni, ami a gyakorlatban azért inkább fenntartásokkal kezelendő, mert vagy működik, vagy nem, jó, ha sikerül annak mentén csinálni, de sokszor inkább az erre való törekvés jön csak össze (és már az is valami). -
inf3rno
nagyúr
Sikerült közben a source maps-et is részlegesen működésre bírni: [link] Karma-val megy, sima browserify-olt forráskóddal is megy, egyedül jasmine nem jelzi a manuális HTML reporterével. Talán ki lehetne keresni, hogy karma hogyan csinálja, passz. Ami probléma, hogy ugyanezt a test bundle futtatásos megoldást használom babel-nél nodejs tesztelésre jasmine-el. Szóval nodejs-el nincs lehetőség normális debug-ra ha babel-t is használtok.
Nem tudom, hogy van e más lehetőség arra, hogy átfordítsam a kódot egyesével fájlonként, majd jasmine-el teszteljem. Elvileg az egész teszt mappát át kellene fordítanom valami babelify szerű libbel, aztán átnyomatni jasmine-en. Ehhez valami gulp-jasmine, vagy hasonló kellene, ami képes file stream-ekkel dolgozni. Megnézem, hogy van e ilyen. Ha igen, akkor ez a része megoldódott, és egyedül csak a manuális böngészős tesztelés nem fog menni HTML jasmine reporter miatt, ami talán nem egy nagy veszteség, karmával megy, böngészőben megy, ha betöltjük a bundle-t, egyedül ez a reporter nem tölti be a source map-et.
Új hozzászólás Aktív témák
Hirdetés
- GAMER PC : RYZEN 5 4500 / 16GB DDR4 / ASUS RX 480 8GB / WiFi / Bluetooth / 512GB M.2 SSD / 500GB HDD
- Dell Latitude 7390, 13,3" FHD IPS , I5-7300U CPU, 16GB DDR4, 512GB SSD, WIN 11, ( olvasd végig )
- Acer PREDATOR HELIOS NEO 16 / i9-14900HX / RTX 4070 (140W) / 1 TB SSD / 240HZ
- Topping A70 Pro fejhallgató erősítő
- Topping D70 Pro Octo DAC
- Eredeti Lenovo USB-C 65W töltő
- Azonnali készpénzes Microsoft XBOX Series S és Series X felvásárlás személyesen/csomagküldéssel
- Dell OptiPlex MT/SFF 3040, 3050, 7050, 3060, 3070, 5070, 7060 /WIN 11 - SZÁMLA- GARANCIA
- ÁRGARANCIA! Épített KomPhone Ryzen 5 9600X 32/64GB RTX 5070 12GB GAMER PC termékbeszámítással
- AKCIÓ! ASROCK H310CM i5 9600K 32GB DDR4 500GB SSD RTX 3050 8GB DeepCool Tesseract SW 500W
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest