-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
-
Frissítve: 2014-02-25 10:20 Téma összefoglaló
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
-
cattus
addikt
-
cattus
addikt
testResult.myArrayNodList[yy].innerText = myArrayNodList[yy + 1].innerText;Itt hogyha a
testResultobject-nek még nincsmyArrayNodListkulcsra érték definiálva, akkor így nem fogsz tudni neki értéket adni, mivel atestResult.myArrayNodListundefined-ra fog resolve-olni, és undefined értéket nem tudsz indexelni. Előbb inicializált értéket kell adnod neki a loop-on kívül, utána tudod indexelni:testResult.myArrayNodList = [];vagy amikor inicializálod:
let testResult = {myArrayNodList = []};
btw felteszem hogy ez egy typo és amúgymyArrayNodeListszeretne lenni. -
Mr. Y
őstag
-
cattus
addikt
-
nevemfel
senior tag
-
nevemfel
senior tag
Használhatod a foreachet is, teljesen mindegy. Én nem használom, legfeljebb tömbökön, mert a DOM nem tömböket ad vissza, hanem HTMLCollection-t (ennél nincs forEach, ezért először tömbbé kell konvertálni), vagy NodeList-et, aminél van forEach, de nincs meg a többi (map, reduce, filter).
Ha javascriptről és a DOM-ról van szó, és simán végig akarsz szaladni egy iterálható gyűjtemény elemein mindenféle nagy varázslat nélkül, akkor a leghülyebiztosabb a mezítlábas for ciklus.
-
nevemfel
senior tag
-
cattus
addikt
Próbáld meg az itt leírt módszert.
function delay(ms) { return new Promise(res => setTimeout(res, ms)); }
async function task(el) {
el.open = true;
await delay(1000);
el.open = false;
}
const details = Array.from(document.getElementsByTagName("details"));
async function run() {
for (let i = 0; i < details.length; i++) {
await task(details[i])
}
}
run();Ahogy olvastam, forEach használatával nem fog menni amit szeretnél, mert annak a callback függvényében nem lehet await-et használni blockingra.
-
biker
nagyúr
-
biker
nagyúr
-
hiperFizikus
senior tag
-
sztanozs
veterán
-
lanszelot
addikt
-
martonx
veterán
-
lanszelot
addikt
-
Mr. Y
őstag
-
nevemfel
senior tag
Nem írja sehol, azt adja vissza.
pl ha consol log -al megnézem, az érték undefinied.Ha a böngészőkonzolon írod be a kódot, és ott futtatod, akkor a console.log megtévesztő lehet, mert ha beírod ezt:
console.log(1);
, és entert ütsz, a Firefox ezt írja ki:1
undefined
Az első sor a console.log kimenete, a második a visszatérési értéke.ha form submit -nál szeretném figyelni, hogy üres e, és ha nem üres csak akkor jelenjen meg a submit gomb.
Egyszerűbb így:
<input type="text" required />
Így kötelező lesz kitölteni a mezőt. -
martonx
veterán
-
nevemfel
senior tag
-
Mr. Y
őstag
-
nevemfel
senior tag
-
hiperFizikus
senior tag
-
Mr. Y
őstag
-
Mr. Y
őstag
-
lanszelot
addikt
-
lanszelot
addikt
-
Gardaai
senior tag
Persze, hogy hibás, mert kivetted a kódból azt az elemet ahova ugrani szerettél volna.

Ha már egy módosított kódba illeszted be az első verziódra készített kódot, nagy eséllyel nem fog működni.
Nyilván tesztelés nélkül nem írok ide egy kódot, hogy nézd meg Te magad jó lett-e.Volt egy <span id='jump'></span> elemed a fffz ID diveden belül, legfelül és erre írtad a kódodat is, hogy oda ugorjon ami nem működött. Ebből kiindulva lett megírva a kódom.
Ha csak a tetejére szeretnél ugorni, nem pedig egy adott elemhez a szövegen belül akárhova, akkor document.getElementById('jump').offsetTop - 250 helyett csak írj egy nullát, tehát: document.getElementById('fffz').scrollTop = 0; -
Gardaai
senior tag
-
lanszelot
addikt
Kiegészítés: csak abban a bongészőben működik, amelyikben így megnyitom az egyik json file-t.
Amíg nem nyitom meg a bongészőben a json file-t addig nem működik.
firefox nagyon jól mutatja a json file-t. Nem ömlesztve,. És lehet váltani a nézetek között, nagyon jó
Szerver: infinityfree /pont/ com
-
martonx
veterán
-
disy68
aktív tag
"Azt nem tudom miért rakta a functionokat stb egy fix változóba.
Az micsoda? Mire jó? Hogy használom azt a változót?"Ez egy kicsit összetettebb dolog. Leginkább az arrow function (lambda/anonym function) és a klasszikus function expression különbségei a lényegesek itt.
Ennél jobban nem hiszem, hogy össze tudnám foglalni: https://stackoverflow.com/a/34361380
-
disy68
aktív tag
A var, let, const változók deklarálásához használhatók. A scope pedig ezek elérhetőségét takarja a kódon belül.
Itt olvashatsz róluk bővebben: https://www.freecodecamp.org/news/var-let-and-const-whats-the-difference/
az egész url csekkolós dologhoz meg annyit, hogy böngészőből csak többé-kevésbé fogsz normális válaszokat kapni CORS miatt, a legtöbb szerver nem fogja kiszolgálni a kérést, ha az más domainről jön
erről bővebben itt: https://developer.mozilla.org/en-US/docs/Web/HTTP/CORS
-
sztanozs
veterán
termeszetesen a meghivott function-okre gondoltam...
fn1();
fn2();
fn3();
itt az fn1 nem tud semmit "atadni" az fn3-nak, mert nincsenek azonos scope-ban (sot az egyik funkcionak nem is kell tunia arrol, hogy a masikat meghivtak-e, vagy sem.
Viszont ha szeretnel allapotot kezelni, akkor a funkciokat egy kozos scope-ba hozni, pl:const scope = {
let is_ok = false;
fn1() {
...;
this.is_ok = ...;
}
fn3() {
...;
if (this.is_ok == ...) {} ;
}
}
scope.fn1();
fn2();
scope.fn3(); -
sztanozs
veterán
A kód amit leírtam egy function. Abba rakok egy elágazást.
Az else ág /false/ kellene egy másik function -ba.
Ezt el nem tudom kepzelni... de:
Mivel alapbol a function-ok ugy is sorban egymas utan futnak, igy nem az egyik function-bol adsz at adatot egy masikba, hanem az elso function-nek vissza kell adni az erteket, a masiknak meg fel kell vennie. De ha nem akarod modositani a fuggveny szignaturajat, akkor elkerulo megoldaskent a kovetkezokat hasznalhatod:
1. beraksz mindent egy osztalyba, es az elso hivasban eltarolod az erteket egy osztaly-valtozoba, amit a masik funkciobol elersz.
2. csinalsz egy globalis valtozot, amit mindket funkciobol elersz.A masodik megoldas nem javaslom, mert bar mukodik, de minden esetben elkerulendo, hacsak nincs ra mas megoldas (altalaban van).
-
sztanozs
veterán
-
sztanozs
veterán
-
Zedz
addikt
-
sztanozs
veterán
Miert faj, ha a json nem ugy nez ki, hogy
{
0 : {"elso" : "www.elso.hu",
"masodik" : "www.masodik.hu"}
1 : {"elso" : "www. harmadik.hu",
"masodik" : "www.negyedik.hu"}
}
hanem hogy[
{"elso" : "www.elso.hu","masodik" : "www.masodik.hu"},
{"elso" : "www. harmadik.hu","masodik" : "www.negyedik.hu"}
]A kod ugyis csak az eredmenyt latja, neked nem kell foglalkozni a reszletekket, mind a kettot ugyanugy fogod cimezni...
Raadasul modernebb nyelvekben iteratort (foreach) hasznalunk, nem indexelest.Amugy is tervezesi hibanak tunik az egesz. Igy kellene kinezzen a jsonnak, ha egy kulcsszohoz tobb url is tartozhat:
{
"elso" : ["www.elso.hu", "www. harmadik.hu"],
"masodik" : ["www.masodik.hu", "www.negyedik.hu"],
"harmadik" : ["otodik.hu"]
} -
sztanozs
veterán
-
Bzozoo
tag
-
martonx
veterán
-
cattus
addikt
-
hiperFizikus
senior tag
-
hiperFizikus
senior tag
-
hiperFizikus
senior tag
-
Ispy
nagyúr
Az api oké, az megy, lekérem a távolságot és visszakapom a koordinátákat. De a megjelenítéshez az sdk kér api keyt, amit így ki lehet hekkelni a frontendből, ami nem túl egészséges. Ez egy kész fejlesztés, már vagy 2 éve csináltam, használják is, igaz eddig csak .net webviewban volt megjelenítve, szóval nem igazán gond ott, mert sem a sourcehoz, sem a linkhez nem fér hozzá senki. De ha webes megoldást szeretnék ott ez egy security risk. És nem tudom mi erre az ipari szabvány megoldás.
Itt egy példa, ha megnézed a sourcet.
-
lanszelot
addikt
-
cattus
addikt
-
martonx
veterán
-
martonx
veterán
-
lanszelot
addikt
-
Bzozoo
tag
Körülbelül így néz ki.
A kódot ide is beteszem, ha esetleg a link eltörik egyszer:const timer = {default: 0,get() {return this.default;},increase() {this.default += 1;},reset() {this.default = 0;}};(() => {render(timer.get());document.addEventListener("click", handleButtons);})();function handleButtons(event) {switch (event.target.id) {case "startbutton":handler.start();break;case "stopbutton":handler.stop();break;case "resetbutton":reset();break;}}const handler = {interval: null,start() {if (this.interval) {clearInterval(this.interval);this.interval = null;}this.interval = setInterval(flow, 1000);},stop() {clearInterval(this.interval);this.interval = null;}};function TimerTemplate({ hours = "00", minutes = "00", seconds = "00" }) {return `${hours}h:${minutes}m:${seconds}s`;}function timeConverter(time = 0) {const date = new Date(time * 1000).toISOString();const tsring = date.substr(11, 8);const [hours, minutes, seconds] = tsring.split(":");return { hours, minutes, seconds };}function render(time) {app.innerHTML = TimerTemplate(timeConverter(time));}function flow() {timer.increase();render(timer.get());}function reset() {timer.reset();render();} -
nevemfel
senior tag
-
hiperFizikus
senior tag
-
nevemfel
senior tag
-
Zedz
addikt
-
pch
senior tag
-
Zedz
addikt
Possible solution.
ChatGPT generalta, de gyors atfutas utan szerintem ebbe az iranyba kellene neked is menned. -
Bzozoo
tag
-
pch
senior tag
-
Bzozoo
tag
-
martonx
veterán
-
Mr. Y
őstag
-
Doink
aktív tag
-
martonx
veterán
-
martonx
veterán
Szerintem erre nem a getTimezoneOffset kell neked, hanem csak egy sima kivonás

A getTimezoneOffset azt adja meg, hogy adott lokál dátum hány perccel tér el UTC időtől.
A példámban pl. magyar gépen futtatva, magyar időzónára 60 percet ad meg, ami korrekt.
Csak ennyit tud, nincsenek paraméterei.
Csináltam egy js fiddle-t: JSFiddle - Code Playground -
mandleee
tag
-
martonx
veterán
Ezt most minden rosszindulat nélkül kérdezem, kérlek ne vedd támadásnak, de ahhoz, hogy hová tudjuk tenni a kérdéseidet muszáj tudnunk:
Angollal van problémád, vagy olvasási, szövegértési nehézségeid vannak, vagy más szellemi fogyatékosságod?
Mert ha ezt tudjuk, és tisztázzuk, akkor nyilván megpróbálunk ennek megfelelően hozzádállni, nem pedig simán hülyének nézni.A Set-et fogd fel egy tömbként, azzal a különbséggel, hogy nem tudod ugyanazt többször beletenni.
const myArray = [1, 2, 3];
myArray.push(1);
[1, 2, 3, 1] - et fog eredményezni.Míg ugyanez Set-el nem fog menni, ha már benne van az 1, akkor nem fog újra belekerülni.
Remélem így kielégítő volt a magyarázat? -
cattus
addikt
-
martonx
veterán
-
vz12
tag
-
vz12
tag
function getSamePieces(t1,t2) {t3 = t2.slice(); // klónozáslength_before = t3.length;for (var i=0; i<t1.length;i++) {idx3 = t3.indexOf(t1[i]);if ( idx3 != -1)t3.splice(idx3, 1);}nRet = (length_before-t3.length);while(t3.length > 0)t3.pop(); // törlésreturn nRet;}t1 = [1,2,3,4,5,6,7];t2 = [2,8,2,1,6,1,1];nSame = getSamePieces(t1,t2);document.write(nSame); -
cattus
addikt
Kicsit gondolkoztam rajta, nekem a következő jutott eszembe: sorbarendezed mindkét tömböt és az elejéről indulsz két indexszel (i indexeli az A tömböt, j meg a B tömböt). Ha A != B[j], akkor mindkét indexet növeled. Ha A(i) == B[j], akkor növeled a számlálót és megnézed A[i + 1]-et és B[j + 1]-et. Ha ezek is egyeznek A(i)-vel vagy B[j]-vel, akkor növeled i-t és j-t is. Ha csak az egyik egyezik (mondjuk A[i + 1] már más, de B[j + 1] még nem), akkor i-t addig növeled, amíg ráfutsz a következő számra, j-t meg csak 1-gyel, és jöhet elölről az egész, amíg i vagy j el nem éri a tömb végét. Nem csináltam rá kódot, szóval lehet valami edge case-t kihagytam, de én így indulnék neki.
-
hiperFizikus
senior tag
-
martonx
veterán
-
martonx
veterán
PHP -> szerver oldal, érted a PHP egy szerveren fut, még ha az történetesen localhost is, azaz a te géped a szerver.
Ajax -> kliens oldal, a js böngészőben fut, bárkinek a gépén, ne zavarjon meg, hogy ez a bárki éppen te magad is lehetsz a saját gépeden, ami egyben PHP szerverként is funkcionál a fejlesztés idején.Szerver és kliens oldal, két egymásról semmit sem tudó, tökéletesen független dolog, amik HTTP-n keresztül kommunikálnak.
HTTP request: bármelyik oldal tud http requestet indítani és válasz json-t fogadni.
Api-hoz ez úgy jön, hogy a böngészőben futó kliens oldal Ajax-al (régen, most már Fetch-el) tud http requestet indítani a szerver oldal felé.
És dehogynem kellett, amikor a kártyákat lekérted a js kódodban, a 4-dik sor fetch parancsa egy HTTP GET hívást indít az api felé.
De nyugi, aggodalomra semmi ok a belinkelt dokumentumok pont erről magyaráznak hosszan, és mi is megpróbálunk a magunk szerény módján segíteni. -
edari
őstag
Sokat kell akkor még olvasgatnod a témában, ha már a http request method-okat se érted.
-
martonx
veterán
1. Az megvan, hogy mit csinál a Fetch? Http hívást indít a szerver felé. No, és milyen HTTP hívási metódusok vannak? Hát ilyenek: HTTP request methods - HTTP | MDN (mozilla.org) ejnye, hogy ez is dokumentálva van, ráadásul ugyanazon a dokumentációs oldalon
Javaslom ezt is elolvasni.2. ez esetben azt a részt, hogy miben tér el a jquery.ajax-tól ugord át, hiszen esetedben leszarós, ha sosem használtál jquery-t.

Várom a további konkrét kérdéseket, hogy mi nem érthető a Fetch Api dokumentációja alapján! Látod, ha normálisan leírod, hogy mi a bajod, akkor normális választ kapsz. Sajnos így működik a világ.
-
sztanozs
veterán
-
martonx
veterán
Elküldtem a tisztán javascriptes dokumentációt. Erre ezt írtad vissza: "A link nem jó, mert jquery, php ..stb, és emiett érthetetlen. Engem csak js alatt érdekelne."
Szóval, ha téged csak js alatt érdekel a fetch api, ami egyébként egy js api, és a küldött dokumentáció csak js dokumentáció, akkor mégis mi az isten nem érthető rajta, és hogy jön ide jquery, php stb... ???
Nem nézlek le, csak hülyeségeket írsz
és tippre jóval hamarabb írsz, kérdezel hülyeséget, minthogy elolvasnád, amit küldtem, illetve átgondolnád, hogy hányadikán is van elseje. -
martonx
veterán
-
sztanozs
veterán
-
sztanozs
veterán
-
martonx
veterán
Tényleg nem kell queryselector, a kolléga hibásan mondta.
Class nem erre való. Persze azzal is meg lehet oldani, de ebben az esetben az id tényleg szebb megoldás."fletch" api-ra nem kereshettél valami túl erősen.
![;]](//cdn.rios.hu/dl/s/v1.gif)
Vagy már akkor is hibásan írtad a nevét
Fetch API - Web APIs | MDN (mozilla.org) - itt ami inkább érdekes lehet neked, az a Related topics alatt a using Fetch API, az tele van példákkal. -
Bzozoo
tag
Volt egy pár tévedésed, de amúgy nem sokat hibáztál.
Például a kartyalap nevű classba akartad írni, amit querySelectorAll-al kell elkapni, és abból is azt az elemét, amelyikbe tenni akarod. Itt most csak egy ilyen class van, az pedig a 0. elem. De jobban jársz, ha az ilyesmit nem class-al, hanem id alapján oldod meg.
Elhagytál innen onnan némi zárójelet és kapcsoszárójelet. -
Lokids
addikt
-
polymorphin
csendes tag
A video pont arrol szol hogy mi a kulonbseg.
A Complete Guide to Data Attributes | CSS-Tricks - CSS-Tricks#9297
SpeechSynthesis: voiceschanged event - Web APIs | MDN (mozilla.org)
Új hozzászólás Aktív témák
-
Fórumok
LOGOUT - lépj ki, lépj be!
LOGOUT reakciók Monologoszféra FototrendGAMEPOD - játék fórumok
PC játékok Konzol játékok MobiljátékokMobilarena - mobil fórumok
Okostelefonok Mobiltelefonok Okosórák Autó+mobil Üzlet és Szolgáltatások Mobilalkalmazások Tartozékok, egyebek Mobilarena blogokPROHARDVER! - hardver fórumok
Notebookok TV & Audió Digitális fényképezés Alaplapok, chipsetek, memóriák Processzorok, tuning Hűtés, házak, tápok, modding Videokártyák Monitorok Adattárolás Multimédia, életmód, 3D nyomtatás Tabletek, E-bookok Nyomtatók, szkennerek PC, mini PC, barebone, szerver Beviteli eszközök Egyéb hardverek PROHARDVER! BlogokIT café - infotech fórumok
Infotech Hálózat, szolgáltatók OS, alkalmazások SzoftverfejlesztésFÁRADT GŐZ - közösségi tér szinte bármiről
Tudomány, oktatás Sport, életmód, utazás, egészség Kultúra, művészet, média Gazdaság, jog Technika, hobbi, otthon Társadalom, közélet Egyéb Lokál PROHARDVER! interaktív
- Kormányok / autós szimulátorok topikja
- Samsung Galaxy A54 - türelemjáték
- iPhone topik
- Megújult mobilos felület, fórumos ráncfelvarrás a PROHARDVER! lapcsaládon
- Nokia N8 - vajon elég lesz-e?
- Az AI átformálja a Peugeot modelljeit is
- Azonnali fotós kérdések órája
- Kuo: Az iPhone 18 Pro állítható blendét kap
- Analóg fényképezés
- Star Wars rajongók
- További aktív témák...
- Lenovo Thinkpad X1 Yoga 6th Gen. i7 11th, 32GB RAM 27% ÁFÁS (0326)
- HIBÁTLAN iPhone 13 Pro 128GB Gold -1 ÉV GARANCIA -Kártyafüggetlen- MS4674, 100% AKKSI
- USB Switch 2IN 4OUT KVM kapcsoló
- Dell Latitude 5290, 2 az 1 ben,12.5",FHD,i5-8350U,8GB DDR4,256GB SSD,WIN11
- iPhone 17 Pro Max 256GB 100% (1év Garancia)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

![;]](http://cdn.rios.hu/dl/s/v1.gif)
Erre szeretnék megoldást, hogy hogyan lehetne ezt megcsinálni.