Hirdetés

Keresés

Új hozzászólás Aktív témák

  • hiperFizikus
    senior tag

    Nincs arra valami korlátozás ezen a lapcsaládon, hogy egyazon személy maximum hány seggértelmetlen topik indításával szennyezheti be az internet ezen apró szegletét?! :F

    Ez nem értelmetlenség ! Most JavaScripten van 5 GB -nyi adatom lexikonokból, és majd átköltözök egy PHP szerverre vele !

    A lexikonok koncentrálják a tudást, és online sok 10 kilogrammnyi volt papír alapú lexikon lett feltéve az internetre ! Tehát nem értelmetlenség !

    És azok a JavaScript funcion -jaim, amiket ehhez írtam, jól működnek ezen a több GB -nyi lexikonon futva !

    A kérdéseitekre válaszolok, de a fel nem tett kérdésekre nem tudok válaszolni !

    :((

  • lanszelot
    addikt

    Végigpörgettem a videót, de nem találtam benne olyan részt, ahol a html forrást is mutatná. De ha onclick() eseményt ad hozzá a gombhoz, akkor a this meghatározással küldi el önmagát.

    Felesleges a html.
    Pár elem, pl képek egy div tagban.
    A css -ből ki lehet olvasni.
    "this" ebben az esetben nem jó, mert a div kell amiben a button tag van.
    Azért is adta a "container" nevet, hogy ha vki nem tudná, hogy működik a "scrollBy" method.
    De ahogy írtam úgy kell csinálni. :)
    Értelmét akkor látom, ha több sorban is van, illetve különböző méretű elemekel.

  • rita7107
    aktív tag

    Ez egy egyszerűbb (feltételi jelző nélküli) összehasonlítás.
    Ha a.subTreeConfig értéke nem egyenlő null-al (vagy a != végett undefinied-el), akkor végrehajta az utasítást. Ha az első feltétel igaz, akkor végrehajtásra kerül a második utasítás (this._layoutConfigs[r] =.......).

    Egy példa:

    this.config.tags = {
        tag1: { subTreeConfig: { /* valami adat */ } },
        tag2: { /* nincs subTreeConfig */ },
        tag3: { subTreeConfig: null }
    };

    tag1 esetén végrehajtásra kerül a kód, tag2 undefinied, tehát nem hajtódik végre, tag3 pedig kifejezetten null, így ebben az esetben sem hajtódik végre.

    Tehát this._layoutConfigs[r] csak akkor kap értéket, ha a.subTreeConfig értéke nem null és nem is undefinied.

    :R

  • lanszelot
    addikt

    for helyett forEach, célravezetőbb.
    Plusz ha értéket akarsz módosítani, miért innerHTML?
    Ha a táblázatodba input mezők vannak, akkor value az érték.
    Írasd ki az egész Noodle-t és a Console-ba nyisd le, nézd meg, mely attribútumai tartalmazzák a kívánt értéket. Majd azt címezd meg

    A táblézat értéke sql adatbázisból jön php-val.
    Nagyon kacifánots úgy ismét kiíratni.
    Újra kikérni az adatbázisból, újra kiíratni az egész tablázatot...stb
    Ez sokkal kevesebb kód, és kevesebb időt venne igénybe.

    For, vagy forEach, az itt mindegy. For -al jobban átlátható nekem.

  • hiperFizikus
    senior tag

    Neked való

    oda kellett volna

    :((

    My reaction to #10246

    Valóban a laptopom egy kicsit szénakazlas, de már rendet csináltam benne: vannak mappáim kis és nagy szénakazlakra, szénákra szalmákra bálákra ! - he he he .
    :(

  • hiperFizikus
    senior tag

    A JS egy enyhén dinamikus és laza típusozású nyelv, ami azt jelenti, hogy nem szükséges szigorúan meghatározni a változók típusát, és bizonyos esetekben a típuskényszerítés enyhébb. Ez növeli a nyelv rugalmasságát, de ugyanakkor némi komplexitást is hozhat a kódértelmezés során.
    Pont. Érted?

    Értelek, de mire akarsz utalni vele ?
    :)

  • F1DO
    senior tag

    Tudod az a baj a magad fajta próbálkozókkal, hogy ha nem kap elsőre kész megoldást, már degradál mindenkit. Itt ebben a csoportban szerintem az aktív résztvevők 95%-a képes nulláról megcsinálni amit akarsz. Csak nem érdekünk.
    Hogy miért? Mert arra törekszünk, hogy rávezessük a megoldásra azokat, akik szeretnék megcsinálni a maguk programjait, de elakadtak.
    Nem azért vagyunk itt, hogy telibe mindenkinek megcsináljunk mindent amit benyögnek ide.

    Ezt kéne megérteni!

    Igen, instant világ, instant 'elvárások'. És igen, türelmetlen voltam, vagyok - de amiatt is, mert ez képgaléria dolog ezer éves történet már és nem értem, hogy miért kell még ma is szarakodni vele, igenis számítanék rá hogy van egy jó leírás, rávezetés, kód, stb erre.

    Sejtettem hogy a kutakodás marad.. Ha oda (nem) jutok akkor Bzozo-nál jelentkezem, köszönöm a felajánlást!

  • nevemfel
    senior tag

    Tudod az a baj a magad fajta próbálkozókkal, hogy ha nem kap elsőre kész megoldást, már degradál mindenkit. Itt ebben a csoportban szerintem az aktív résztvevők 95%-a képes nulláról megcsinálni amit akarsz. Csak nem érdekünk.
    Hogy miért? Mert arra törekszünk, hogy rávezessük a megoldásra azokat, akik szeretnék megcsinálni a maguk programjait, de elakadtak.
    Nem azért vagyunk itt, hogy telibe mindenkinek megcsináljunk mindent amit benyögnek ide.

    Ezt kéne megérteni!

    Csak nem érdekünk.

    Nem csak arról van szó, hogy nem érdekem.

    Hétköznap dolgozom, csak alkalmanként van időm bekukkantani a topikba. Ha van esetleg valami technikai dolog, amiben kapásból segíteni tudok, akkor szívesen segítek, de sem időm, sem energiám nincs arra, hogy órákat szenteljek egy adott témának, hacsak nem pont olyan probléma, amivel jelenleg épp én is foglalkozom.

    Másrészt ha már a konkrét példát vesszük, a galéria szkriptet, biztos nem állnék neki sajátot írni, hacsak nem pont az a célom, hogy sajátot akarjak készíteni, vagy ezen keresztül gyakorolni a javascript programozást. Egyrészt mert gigatonnányi galériakezelő szkript van készen, csak meg kell keresni, másrészt ha igényeset akarsz csinálni, ennek is megvannak a maga buktatói, ami miatt elég sok idő nulláról megcsinálni korrekten (különféle médiaformátumok kezelése, touch eventek mobileszközökön, túl nagy kép átméretezése a viewporthoz alkalmazkodva stb, stb...)

  • edari
    őstag

    Az egyik megoldás, hogy letöltöd az összes adatot egy <datalist> elembe és ehhez társítasz egy <input list>-et. A tövábbiakban automatán, külső kódolás nélkül csinálja azt, amit szeretnél.

    A másik esetben nem töltöd le az adatokat előre, hanem a szervert hívogatod ész nélkül minden karakter leütést követően, pl Fetch API-val. Ekkor egy egyszerű eseményfigyelőt kell alkalmazni az <input> mezőre JS-ben és elküldeni az értéket a szervernek. Ott feldolgozás után visszaadja a válaszokat, pl egy JSON-t, amit kliens oldalon dolgozol fel.

    Kb ennyi.

    Második esethez: nem kell minden karakter leütésnél requestet küldeni, erre való a debounce.

  • nevemfel
    senior tag

    Ezért érdemes a jól bevált input mezőket használni mindenre

    Az input type button szövegét nem tudod formázni, és ikont sem tudsz használni a gombon belül.

  • hiperFizikus
    senior tag

    Készíts a Weboldaladra egy számlálót, amely jelzi, hányan töltik le egy-egy rettenetedet.
    Ezután vond le a konzekvencát.

    Máma 2023.11.15. szerdán 68 db volt egy nap alatt,

    Nyelv, ország >>
    huHungarian (Magyarország)50.6%en-usEnglish (United States)29.6%en-gbEnglish (United Kingdom)8.6%zh-cnChinese (China)3.7%nb-noNorwegian (Bokmal)3.7%enEnglish1.2%deGerman (Germany)1.2%jaJapanese (日本国)1.2%

    és májusban (2023.05.25.) 357 db volt egy nap alatt . T

    Általában kevesen látogatnak, de ez az egy 357 db/nap-os eseten és a mostanában szokásos többlet/nap eseteken kívül ritkán .
    :R

  • martonx
    veterán

    Készíts a Weboldaladra egy számlálót, amely jelzi, hányan töltik le egy-egy rettenetedet.
    Ezután vond le a konzekvencát.

    Ne bántsd a bolondot, nem tudja, hogy az. Mondjuk azt én sem értem, hogy mit keres itt.

  • hiperFizikus
    senior tag

    Elmesélek neked valamit a programozással kapcsolatban.

    Egy időben édesapám és én ugyan annál a cégnél dolgoztunk, mint vezérléstechnikusok. A feladatkörünk lényegében 5VDC - 380VAC-ig való automatizált vezérlések tervezése, megépítése és PLC programozása volt.

    Egyszer azonban megalkotásra került egy masina, amely nem igényelt kijelzővel ellátott, grafikus visszajelzéssel megáldott, túl-dizájnolt vezérlést, így cégünk vezérkara kitalálta, hogy építsünk egy saját vezérlőt.

    Apám foglalkozik komolyabb szinten a PIC-ek világával, így megalkotott egy egyedi PLC-t, amely költséghatékony volt és a célnak megfelelt. Assembly nyelven készült el rá az adott program, melyet a gép igényelt.
    Csakhogy, ez az eszköz megtetszett a vezérkarnak és azt akarták, hogy több gépünkbe is alkalmazzuk ezt. De ugye oda más-már programokra lesz szükség.

    Ekkor kaptuk meg feladatba, hogy készítsünk ehhez az egyedi PLC-hez egy olyan szoftvert, amelyben bárki tud programozni. Apám számtalan MACRO-t írt meg Assembly-ben, én pedig összedobtam egy olyan programot, ahol ezen Macro-kat egymásra dobálva (tádám: blokkprogramozás) lehetett megalkotni komplett automatizálásokat, végül egy MPLAB-X integráció lefordította a végeredményt HEX-re, hogy a PLC PIC lelke meg tudja emészteni.

    A teszt kedvéért megíródott így is az eredeti gép szoftvere. Tudod, mi lett az eredmény? Egy hibátlanul működő program!

    Khm... de ez csak a látszat.

    Az így elkészült program:
    - több tízszer akkora memóriát foglalt le (ami korlátolt kapacitásnál nem jelent jót)
    - ergo több hardvert igényelt
    - mindemellett mérhetően lassabban dolgozott.

    Hiszen blokkokból állt és a fordításkor minden blokk behívásra került, akár többször is, teljes egészében.

    ---------------------------------------------

    Amit te csinálsz, ugyan ez, csak eleve egy magas szintű nyelvet alapul véve. A Te nyelvedet is meg kell tanulni használni, ugyan azt lehet elérni vele, mint JS-el (vagy talán annyit azért nem), azonban több erőforrást és tárhelyet igényel.
    A mai világ gyakorlatilag korlátlan méretei mellett ez nem okoz különösebb problémát, de! Én még C64-en Basic programozással kezdtem. Ott nem volt minden végtelen, meg kellett Tanulni programozni. Ez a mentalitás pedig részemről megmaradt.

    Régen hallottam egy bölcsességet, amiben nagy igazságot látok mind a mai napig:

    "Nem akkor végeztél jó munkát, amikor már nem tudsz többet hozzáadni. Hanem akkor, ha már nem lehet mit elvenni belőle!"

    Ez is egyfajta blokk programozás, teljesen más mint a többi, én csináltam :

    » memória gombok :
    :)
    Még kb. 2 keményebb és hosszabb munkanap vár rám, aztán az apróságok, és készen is lesz, és le is tölthetitek majd .

  • Zedz
    addikt

    Elmesélek neked valamit a programozással kapcsolatban.

    Egy időben édesapám és én ugyan annál a cégnél dolgoztunk, mint vezérléstechnikusok. A feladatkörünk lényegében 5VDC - 380VAC-ig való automatizált vezérlések tervezése, megépítése és PLC programozása volt.

    Egyszer azonban megalkotásra került egy masina, amely nem igényelt kijelzővel ellátott, grafikus visszajelzéssel megáldott, túl-dizájnolt vezérlést, így cégünk vezérkara kitalálta, hogy építsünk egy saját vezérlőt.

    Apám foglalkozik komolyabb szinten a PIC-ek világával, így megalkotott egy egyedi PLC-t, amely költséghatékony volt és a célnak megfelelt. Assembly nyelven készült el rá az adott program, melyet a gép igényelt.
    Csakhogy, ez az eszköz megtetszett a vezérkarnak és azt akarták, hogy több gépünkbe is alkalmazzuk ezt. De ugye oda más-már programokra lesz szükség.

    Ekkor kaptuk meg feladatba, hogy készítsünk ehhez az egyedi PLC-hez egy olyan szoftvert, amelyben bárki tud programozni. Apám számtalan MACRO-t írt meg Assembly-ben, én pedig összedobtam egy olyan programot, ahol ezen Macro-kat egymásra dobálva (tádám: blokkprogramozás) lehetett megalkotni komplett automatizálásokat, végül egy MPLAB-X integráció lefordította a végeredményt HEX-re, hogy a PLC PIC lelke meg tudja emészteni.

    A teszt kedvéért megíródott így is az eredeti gép szoftvere. Tudod, mi lett az eredmény? Egy hibátlanul működő program!

    Khm... de ez csak a látszat.

    Az így elkészült program:
    - több tízszer akkora memóriát foglalt le (ami korlátolt kapacitásnál nem jelent jót)
    - ergo több hardvert igényelt
    - mindemellett mérhetően lassabban dolgozott.

    Hiszen blokkokból állt és a fordításkor minden blokk behívásra került, akár többször is, teljes egészében.

    ---------------------------------------------

    Amit te csinálsz, ugyan ez, csak eleve egy magas szintű nyelvet alapul véve. A Te nyelvedet is meg kell tanulni használni, ugyan azt lehet elérni vele, mint JS-el (vagy talán annyit azért nem), azonban több erőforrást és tárhelyet igényel.
    A mai világ gyakorlatilag korlátlan méretei mellett ez nem okoz különösebb problémát, de! Én még C64-en Basic programozással kezdtem. Ott nem volt minden végtelen, meg kellett Tanulni programozni. Ez a mentalitás pedig részemről megmaradt.

    Régen hallottam egy bölcsességet, amiben nagy igazságot látok mind a mai napig:

    "Nem akkor végeztél jó munkát, amikor már nem tudsz többet hozzáadni. Hanem akkor, ha már nem lehet mit elvenni belőle!"

    Nem fogja érteni. :))

  • sztanozs
    veterán

    Akkor erre aludj egyet. Arra a ChatGPT képtelen 🤣

    Egyébként magyarázz el valamit, mert ezt nem értem veled kapcsolatban: Miért célod egy amúgy is magas szintű program nyelvet még magasabb szintre emelni?

    Meta-programozas...

  • hiperFizikus
    senior tag

    De. És annak sincs értelme.

    Most viccelsz ? El sem olvastad !
    , de valóban kíváncsi vagyok rá, hogy tudtok-e ilyesmiről .
    :F

  • dagoniat1
    csendes tag

    Több oldalas megoldás pl PHP-val, GET kérésekkel.
    JavaScript csak kliens oldalon fut, nem ível át több lapon keresztül. Kivéve, ha alkalmazol például localStorage tárolót.

    A localStorage jó kiindulási pont. Már tesztelgetem, köszi a tippet.

  • Ajax, Fetch, stb. Én a JS-ben keresném a megoldást.

    Szerk.: Ha egy oldal úgy van megcsinálva, hogy másodpercenként lekérdez a szerverről 1 darab kép miatt, hát szégyelje magát. Nameg nyoma akkor is van

    Nem egy képet kérdez le. Az oldalon vannak grafikus elemek, azok vannak SVG-vel megrajzolva. A szerverről csak az elemek paramétereit kéri le másodpercenként. Főleg színeket, értékeket. Csak azt nem tudom hogyan, mert látom, hogy változnak másodpercenként, de az elemzőben az oldal betöltése után nem kér le a szervertől semmit. Illetve csak egy POST kérés ismétlődik 5 mp-enként, amiben a válasz json formátumban a queryTime.

  • Ha SVG képekről van szó, akkor is letöltheti a szerverről az egészet és egy JS időzítővel lényegében mozgóképként váltogatja.
    Azonban van lehetőség HTML környezetben az SVG TAG-ok használatára, így le is lehet "programozni" a képeket. Ebben az esetben sem kell szerver felé nyúlkálni, könnyen lehet, hogy egy JS dinamikusan építgeti a forrást.

    A lehető legpontosabb válasz megadásáért azonban ajánlom, hogy linkeld be az érintett oldalt.

    Az oldalt nem tudom belinkelni, mert nem nyilvános. De nem is az SVG a lényeg, hanem, hogy az oldal 1 másodpercenként tölt le a szerverről adatokat, frissíti az oldalt. Csak nem tudom milyen protokollt használ, mert a böngésző elemzőjében nem látom. Esetleg nincs valami komolyabb elemző program? Vagy milyen lehetőségek vannak még a GET és POST és PUT-on kívül? Mert ezeket a kéréseket elvileg látni lehetne az elemzőben.

  • hiperFizikus
    senior tag

    Szerintem élsz némi fogalomzavarban, ezért lehet mindez.
    Az alert() egy olyan metódus, amely egyike a felhasználók felé történő kommunikációnak.
    A console pedig a fejlesztőknek van fenntartva, működés ellenőrzésre, folyamatábrákra, logolásra, debug-olásra és még sorolhatnám.
    Éppen ezért ezutóbbi nem igényel interakciót.

    Majd alaposan kikérdezem róla a ChatGPT motort ♥
    :D

    => például :
    User
    Mire szolgál a JavaScriptes console s a console.log ?

    ChatGPT
    A JavaScript console objektum és a console.log() függvény segítségével kimenetet írhatsz ki a böngésző konzoljába vagy a fejlesztői eszközök konzoljába. A console.log() függvény általában használatos a debuggoláshoz és a fejlesztési folyamat során információk, üzenetek, változók értékeinek vagy objektumok állapotainak kiírásához.

    A console.log() függvényt a következőképpen használhatod:

    javascriptCopy codeconsole.log('Üzenet');
    console.log(variable);
    console.log('Az objektum:', objektum);

    A fenti példákban a console.log() függvény a paraméterként megadott értékeket kiírja a konzolba. A szövegek egyszerűen megjelennek a konzolon, míg a változók és objektumok részletei részletesen jelennek meg.

    A console objektum rendelkezik más hasznos módszerekkel is, mint például console.error(), console.warn(), console.info(), amelyek különböző típusú üzeneteket adnak vissza, például hibaüzeneteket, figyelmeztetéseket vagy információkat.

    Fontos megjegyezni, hogy a console.log() függvény csak fejlesztési célokra szolgál, és általában nem ajánlott a végső termelési kódban hagyni ezeket a kimeneteket, mivel befolyásolhatják az alkalmazás teljesítményét és biztonságát. A kész termékben ezeket a kimeneteket általában el kell távolítani vagy letiltani.
    :)

  • nevemfel
    senior tag

    Na majd ha legközelebb belefutok ilyenbe, felhagytok az ateizmussal ;]
    Ha a kacsa nem tud úszni, nem a víz a hülye. Vagyis ha valamit nem tudtok reprodukálni, nem feltétlenül a feladvány a hibás.
    Simán lehettek ti is tudatlanok :))

    Nézd, én tényleg nem szeretnék veszekedést ebben a témában, de azért lehetnél kicsit alaposabb, amikor egy ilyen problémát akarsz prezentálni a topikban a többiek felé.

    Elhiszem, hogy a javascript használata során sok furcsasággal lehet találkozni, de ennek a nyelvnek is ugyanúgy megvan a belső logikája, hogy hogyan működik a fordító-, és a futtatókörnyezet. Ami egyébként számos ponton eltér más nyelvekétől, és ami sok félreértést szül.

  • martonx
    veterán

    Félre értettetek, nem egy aktuális programhibát osztottam meg veletek, csak egy érdekes tényt, amivel találkoztam már személyesen.

    Van amit jobb magadban tartani ;]

  • nevemfel
    senior tag

    Félre értettetek, nem egy aktuális programhibát osztottam meg veletek, csak egy érdekes tényt, amivel találkoztam már személyesen.

    Csak reprodukálni nem sikerült a hibát a példával. Így, legalábbis számomra, nem érthető, hogy mi is a probléma, vagy hogy mi köze ennek a Javascript engine egyszálúságához.

  • sztanozs
    veterán

    Félre értettetek, nem egy aktuális programhibát osztottam meg veletek, csak egy érdekes tényt, amivel találkoztam már személyesen.

    Nem egy ismert problemat osztasz meg, hanem a tudatlansagodat…

  • cattus
    addikt

    Üdvözlet!

    Volt nemrég itt a fórumon téma, hogy a JavaScript mindössze 1 szálon fut.
    Néha ezt a tényt be is bizonyítja. Mégis érdekes, hogy ha van egy ilyen kódom:

    let value = getValue();
    function getValue() {
    return true;
    }
    myFunction(value);
    .
    .
    .
    .
    function myFunction(x) {
    //
    }

    ...akkor a console hibát dob vissza, miszerint: 'x is not definied'.

    Kérdem én: Ha 1 szálon fut, akkor követnie kellene a műveleti sorrendet (fentről lefelé). Ilyen esetben miért nem történik meg? Nyílván getValue(); nem csak egy egysoros kód, hanem egy feltételrendszer. Mégis a program az előtt futtatná myFunction(x);-et, mielőtt visszakapná value a getValue(); értékét.
    Ez az én olvasatomban azt jelentené, hogy párhuzamosan fut két function, és ha nincs visszatérő érték az egyikből addig, amíg a másik el nem jut arra a pontra, hogy használná, akkor hiba lesz az eredmény... :F

    Nem tudom hol futtatod / mi van még a kódodban, de nekem nem dob hibát. Nem is kéne neki, hiszen x az egy bemeneti paraméter, nem kell hogy definiálva legyen korábban.

    Rossz az olvasatod, a hoisting talán magyarázatot ad.

  • martonx
    veterán

    Üdvözlet!

    Volt nemrég itt a fórumon téma, hogy a JavaScript mindössze 1 szálon fut.
    Néha ezt a tényt be is bizonyítja. Mégis érdekes, hogy ha van egy ilyen kódom:

    let value = getValue();
    function getValue() {
    return true;
    }
    myFunction(value);
    .
    .
    .
    .
    function myFunction(x) {
    //
    }

    ...akkor a console hibát dob vissza, miszerint: 'x is not definied'.

    Kérdem én: Ha 1 szálon fut, akkor követnie kellene a műveleti sorrendet (fentről lefelé). Ilyen esetben miért nem történik meg? Nyílván getValue(); nem csak egy egysoros kód, hanem egy feltételrendszer. Mégis a program az előtt futtatná myFunction(x);-et, mielőtt visszakapná value a getValue(); értékét.
    Ez az én olvasatomban azt jelentené, hogy párhuzamosan fut két function, és ha nincs visszatérő érték az egyikből addig, amíg a másik el nem jut arra a pontra, hogy használná, akkor hiba lesz az eredmény... :F

    JSFiddle - Code Playground

    Kérdés, hogy hova rakod a console-t? :D
    Egyébként továbbra is így jsfiddle-el kellene szemléltetni a kérdést.

  • hiperFizikus
    senior tag

    Üdvözlet!

    Volt nemrég itt a fórumon téma, hogy a JavaScript mindössze 1 szálon fut.
    Néha ezt a tényt be is bizonyítja. Mégis érdekes, hogy ha van egy ilyen kódom:

    let value = getValue();
    function getValue() {
    return true;
    }
    myFunction(value);
    .
    .
    .
    .
    function myFunction(x) {
    //
    }

    ...akkor a console hibát dob vissza, miszerint: 'x is not definied'.

    Kérdem én: Ha 1 szálon fut, akkor követnie kellene a műveleti sorrendet (fentről lefelé). Ilyen esetben miért nem történik meg? Nyílván getValue(); nem csak egy egysoros kód, hanem egy feltételrendszer. Mégis a program az előtt futtatná myFunction(x);-et, mielőtt visszakapná value a getValue(); értékét.
    Ez az én olvasatomban azt jelentené, hogy párhuzamosan fut két function, és ha nincs visszatérő érték az egyikből addig, amíg a másik el nem jut arra a pontra, hogy használná, akkor hiba lesz az eredmény... :F

    Csak úgy kutyafuttában ránéztem, nem ez-e a bajod vele:

    let value = getValue();
    function getValue() {
      return true;
    }

    function myFunction(x) {
      //
    }
    .
    .
    myFunction(value);

    .
    .

    Vagyis csak azt hívhatod meg ami előtte már deklarálva van !

  • nevemfel
    senior tag

    Üdvözlet!

    Volt nemrég itt a fórumon téma, hogy a JavaScript mindössze 1 szálon fut.
    Néha ezt a tényt be is bizonyítja. Mégis érdekes, hogy ha van egy ilyen kódom:

    let value = getValue();
    function getValue() {
    return true;
    }
    myFunction(value);
    .
    .
    .
    .
    function myFunction(x) {
    //
    }

    ...akkor a console hibát dob vissza, miszerint: 'x is not definied'.

    Kérdem én: Ha 1 szálon fut, akkor követnie kellene a műveleti sorrendet (fentről lefelé). Ilyen esetben miért nem történik meg? Nyílván getValue(); nem csak egy egysoros kód, hanem egy feltételrendszer. Mégis a program az előtt futtatná myFunction(x);-et, mielőtt visszakapná value a getValue(); értékét.
    Ez az én olvasatomban azt jelentené, hogy párhuzamosan fut két function, és ha nincs visszatérő érték az egyikből addig, amíg a másik el nem jut arra a pontra, hogy használná, akkor hiba lesz az eredmény... :F

    Ha a console.log-ot a myFunction-ba rakod, akkor true-t ír ki ezen példa alapján.

  • hiperFizikus
    senior tag

    Meg miért nem éred be a könnyen hozzáférhető karakterekkel? Nincs már így is eléggé elbonyolítva mindened? :))

    Azok csak listák és szériák .

  • hiperFizikus
    senior tag

    ...a lolita kódban írt programodat pedig akár pénzért is árulhatod...

    Mert minden mást csak crypto-valutáért vagy két kecskéért? :F

    ...már azért is, mert a Lolita programnyelv csak egy váz, amire te olyan és úgy rakod az alprogramjaidat, ahogyan csak akarod...

    Mint minden feljesztőkörnyezet? :F

    Mivel láthatod a Lolita kód: function -jait, ezért cserélheted őket, hozzá és el vehetsz belőlük .
    :W

  • hiperFizikus
    senior tag

    Nem. Fejlesztői környezet az az interfész, amiben megírhatod a programjaidat. Ez lehet egy jegyzettömb is, de lehet az általad belinkelt VSCode is.

    Az API jelentése is ez. De az API nem egyenlő egy programozási nyelvvel.

    aha, a Visual Studio Code lenne az API
    :((

  • hiperFizikus
    senior tag

    Azt azért tudod ugye, hogy a belinkelt programozási nyelv az valójában nem egy programozási nyelv? Az csak egy ingyenes fejlesztő környezet…

    Nem az API a fejlesztői környezet ?

    Te ezt hogyan értelmezed ?
    :)

  • Zedz
    addikt

    Legalább önbizalomból nem szenved hiányt :D

    Irigye vagyok, én minden héten megkérdőjelezem a saját szakmai tapasztalatom. :D

  • martonx
    veterán

    Látszik, hogy egyáltalán nem tudod értelmezni a leírtakat, így felesleges is folytatni…

    Nem szégyen az embernek időnként meghajolni az észérvek előtt, és felül vizsgálni, elismerni ha valami butaságot mondott. Az intelligenciát mutatja, önnön hibánk belátása.

  • nevemfel
    senior tag

    Arra utaltam, hogy több interval-t futtathatsz "egyidőben". Nem arra, hogy mindez nem igaz, ha befagyasztod a böngészőablakot...

    Szerk.: Processzor kérdése amúgy, hogy a meghatározott "10.000.000" ciklusszám le tud-e futni 100ms-en belül :))

    Én meg arra utaltam, hogy egyidőben nem tudsz semmit sem futtatni párhuzamosan egy böngészőtabon. Sem asyncet, sem promiset, sem intervalt, sem semmi eventet.

    A látszólagossággal meg szerintem itt nagyjából mindenki tisztában van, hogy "úgy néz ki", mintha egyidőben futnának dolgok. Oké, na és? Pont arról van szó, hogy a látszat ellenére nem párhuzamosan futnak. Te meg kötöd az ebet a karóhoz, hogy de "egyidőben" futnak. Akkó jóvan akkó, legyél vele nagyon boldog, igazad van, télleg "egyidőben" futnak. Fantasztikus felfedezés.

  • martonx
    veterán

    Arra utaltam, hogy több interval-t futtathatsz "egyidőben". Nem arra, hogy mindez nem igaz, ha befagyasztod a böngészőablakot...

    Szerk.: Processzor kérdése amúgy, hogy a meghatározott "10.000.000" ciklusszám le tud-e futni 100ms-en belül :))

    Látszólag egyidőben, nem mindegy. És nem igazán processzor kérdése, mert akárhány magos lehet a processzor, a fenti kód akkor is csak egy szálon fog futni.

  • nevemfel
    senior tag

    "...Ráadásul a javascript csak egy szálon tud futni..."

    Ezt én csak részben tekinteném igaznak. Elég csak az interval-okra gondolni. Annyit teszel be, amennyit akarsz, olyan időzítéssel, amilyennel akarod.

    Persze nem állítom, hogy ilyen esetekben több szálon fut, csak érdekességként említem.

    Az interval, timeout ugyanazt az event-loopot használja. Egyetlen szálon fut a teljes javascript kód. Ha pl. épp számol egy kódrész, addig amíg be nem fejezi a számolást, addig sem interval, sem timeout, sem egyéb UI event nem kerül végrehajtásra.

    Próbáld ki:

    setTimeout(function() {
    console.log("lefutna 100 ms múlva");
    }, 100);
    for (var war = 0; war < 10000000 ; war++) {
    war;
    };
    console.log("lefutott a ciklus");

  • martonx
    veterán

    "...Ráadásul a javascript csak egy szálon tud futni..."

    Ezt én csak részben tekinteném igaznak. Elég csak az interval-okra gondolni. Annyit teszel be, amennyit akarsz, olyan időzítéssel, amilyennel akarod.

    Persze nem állítom, hogy ilyen esetekben több szálon fut, csak érdekességként említem.

    Pont ezt írtam async futás nem egyenlő parallel futással. Olvass utána!

  • lanszelot
    addikt

    Sehogy, hacsak nincs eleve egy array, ami ezt tartalmazza, mert onnan átemelhető.

    Nagyon szépen köszönöm a segítséget.
    Gondoltam, hogy nem tudja betenni úgy.
    Csak azért kérdeztem, ha létre lehet hozni ilyen tömböt, hátha bele is lehet úgy rakni.

  • nevemfel
    senior tag

    Tudod ebben az az érdekes, hogy ugyan ezt írtam le, mint nem működő opció.
    Viszont most valamiért mégis megy... :W

    Ezek szerint csak megerősítésre volt szükségem XD Köszönöm

    Te ezt írtad:

    const allArray = ['alpha', 'beta', 'delta'];

    Én ezt:

    const allArray = [alpha, beta, delta];

    A kettő egyáltalán nem ugyanaz.

  • nevemfel
    senior tag

    Üdvözletem!

    Ismét kétkedéssel írok, mert valahogy megvan az az érzésem, nem lesz megoldása a talánynak, de azért hátha...

    Szóval. Durván ráfüggtem az array-ok használatára, mint kliens oldali, nem mentendő adatok tárolására szolgáló eszközre.
    Aztán ezek sokan lettek :)

    Szeretném némiképpen megkönnyíteni a velük való munkát, valahogyan az alábbiak szerint:

    const
    alpha = [1, 2, 3, 4, 5, 6],
    beta = [7, 8, 9, 0 ,1, 2],
    delta = ["mikrofon", "próba"];

    const allArray = ['alpha', 'beta', 'delta'];

    És az elképzelés az volna, hogy egy könnyed lekérdezéssel máris a megfelelő adatoknál talájam magam:

    let data = allArray[1][2];

    // console: return = 9

    Azért 9, mert az elmélet alapján data = lesz allArray első értékén lévő (beta) második (9) értékével.

    Tudom, ez a valóságban nem működik, mert ha így próbálom meg:

    let data = allArray[1];
    let anotherData = data[2];

    ...akkor az eredmény bizony "t" lesz, mert a "data" szó második helyi értékén a "t" betű áll.

    Röveden és tömören: Amit itt leírtam, az egy vágyálom, és ebben a formában nem működik. Viszont érdekelne, hogy van-e esetleg egy olyan út, ahol az itt prezentált végcél megtalálható?

    Előre is köszönöm az eszmecseréket!

    const alpha = [1, 2, 3, 4, 5, 6], beta = [7, 8, 9, 0 ,1, 2], delta = ["mikrofon", "próba"];
    const allArray = [alpha, beta, delta];
    console.log(allArray[1][2]);

  • Az a tény, hogy ezt idehánytad ahelyett, hogy ész érvekkel próbálnád meggyőzni a másikat (ahogyan én is tettem), hogy miért nincs neki igaza, az csak téged minősít.

    MontyBoa:
    "A konkrét rendszerhez írt könyvtárakat én nem nevezném keretrendszernek.
    A keretrendszer lényege pont az lenne, hogy általánosan használható...
    "

    Vegyük alapul a Webprogramozást, ha már úgyis témánál vagyunk. Adott egy Webfejlesztő, aki saját vállalkozásként űzi ezt a tevékenységet és több megrendelője is akad. Szerintem, amennyiben van egy saját, jól kidolgozott, stabil és működőképes rendszere, akkor azt fogja újra és újra eladni, a megrendelő által meghatározott változtatásokkal egyetemben. A változtatások nem feltétlen, sőt, esetek jelentős részében nem befolyásolja a már meglévő alap rendszert, sokkal inkább külcsínre megy.
    Így én azt gondolom, hogy keretrendszernek nevezhető, mert ugyan azt használja újra és újra, több projekthez, mindeközben mégsem használja több projekthez, hanem végsősoron ugyan ahhoz, csak más köntösben. Ezért is fog jól működni.

    Azt teljes mértékben megértem, hogy ami(k)ről itt szó van, az pont egy olyan dolog, ami az autóktól a repülőkig mindenhez IS passzol. De én mindössze erre reflektáltam annyit, hogy éppen emiatt lesz megbízhatatlan és instabil.

    Brozoo:
    "A JS keretrendszerek + libek nagyrészének mérete kb-ben mérhető. Szinte észrevehetetlen kódnövekedést okoz a használatuk."

    Természetesen ez így igaz, nem is vitatom. Csak látszik, hogy nagyon XXI. századiként gondolkodtok. Annak idején (C64 és társai korszak) ezek a plusz kb-k igencsak sok gondot tudtak okozni. Így nem volt mindegy az, hogy egy adott program hogyan volt megírva. Mert nemes egyszerűséggel nem volt hely. Én még ebből a korszakból szocializálódtam, így minden esetben törekszem arra, hogy a programjaim a lehető legletisztultabbak legyenek, illetve amennyiben van rá mód, nulla sallanggal.

    Egy nagyon egyszerű példa, hogy jobban ki tudjam fejteni, miért így gondolkodom: A Webprogramozás csak hobbi, a való életben vezérléstechnikus vagyok. 5-400 Voltig tervezek, építek és programozok vezérléseket. Utóbbihoz használok PLC-ket, HMI-ket és saját gyártású, PIC vezérlésű elektronikákat.
    A PLC-ket 2 általános nyelven lehet programozni: C-ben és az úgynevezett Létra-diagramban. Én utóbbiban dolgozom, mert sokkal áttekinthetőbb, letisztultabb (való igaz, a C-hez hasonlóan szintén egy magas-szintű programnyelvről beszélünk), és fordítást követően lényegesen kisebb méretű a feltöltendő fájl. Ez itt már számít, hiszen egy ilyen eszköznek a memóriája nem végtelen, mint egy számítógépé.
    A PIC vezérlés sem különbözik ettől sokat. Azt is lehet C-ben és Assembly-ben programozni.(Megjegyzés a guglizás helyett: A PIC egy mikrokontoroller). A PIC esetében hatványozottan igaz, hogy korlátozva vagyunk tárhely tekintetében. Vannak az ismerőseim között olyanok, akik C-ben programozzák az eszközt, én Assembly-ben teszem ezt. Az gyakorlatilag a gép nyelve.
    Ami itt a lényeg, hogy ugyan azt a feladatot meg lehet írni mindkét nyelvben, azonban mind kiterjedésére, mind a program futási idejére negatív kihatással van jelentősen, ha azt C-ben teszed meg.

    "Plusz ha használsz egy framework-öt vagy libet, az nem feltétlenül jelenti azt, hogy nem érted a működését. "

    Persze, nem feltétlen jelenti azt. Csak van elég tapasztalat azt illetően, hogy márpedig azt jelenti. Mert az ember márcsak ilyen, ha működik, elfogadja és nem érdekli, hogy mitől működik.
    Saját tapasztalatokból sem kell messzire menni. A cég, ahol dolgozom, megrendelt egy honlapot. Keretrendszerek sokaságából állt össze, annyi hibát dobott a console, hogy megszámolni is sok volt, telis tele volt megannyi felesleges sallanggal és mindezt úgy, hogy valójában egy funkciók nélküli, mondhatni digitális újság volt az elvárás. Ez szépen is működött, egészen addig, míg nem jött a vezetőség felől az igény egy speciális kalkulátorra, amivel az ügyfelek meg tudnak spórolni telefonálgatásokat.
    A kalkulátor elkészült, és beépült az oldalba. Ám amint azt valaki használni is akarta, úgy omlott össze az egész weboldal, mint egy kártyavár. És itt hozzáteszem, a kalkulátor önálló fájlként hibátlanul működött...

    Sajnos lemaradtam az elejéről a moderáció miatt. De egy kis szösszenet a keretrendszer vs egyedi kód.
    - Nem lövünk ágyúval verébre
    - A problémára megoldást kínálunk, nem pedig azt az XY keretrendszert használjuk, amit az előző projektben. Kivéve ha van 6 XY keretrendszerhez értő kolléga, mert akkor ésszerű lehet azt választani.
    - Piacról egyszerűbb felvenni XY keretrendszerhez értő kollégát, mintha egy saját belső keretrendszerhez kéne betanulni.
    - Ha keretrendszert használsz, értékesebb piaci tudásra teszel szert, mint egy belső rendszerrel.

    Ha a probléma egy egyszerű saját kis JS-el megoldható, akkor nem kell egy óriás libet behúzni, lásd első pont. Bugot fog tartalmazni mindegyik fw, viszont egy népszerű frameworknél hamar jönni fog rá javítás. Ha probléma akad, gyorsabban találsz rá megoldást google, stackoverflow segítségével.

    Volt szerencsém mindkettőhöz, ugyanúgy lehet jó belső tool, de lehet szar kód egy keretrendszerrel, fordítva is. Nem ezen múlik. Én viszont keretrendszerrel indulnék neki, kivéve ha lásd 1. pont :R

    Ami nekem most nagyon tetszik, az az Astro.js. Ha nem akarsz lib-et behúzni, akkor csak írsz hozzá egy kis JS-t, de ha valahol kéne, akkor csak annál a komponensnél használod.

  • martonx
    veterán

    Látod, ez egy jelentős különbség edari hozzáállásához képest. Te ész érvekkel és példákkal cáfolod meg most a kijelentésemet, ami így elfogadható és érthető.

    Azt természetesen nem lehet elvárásként kezelni, hogy pl az említett Webáruház amelynek szerves része az adatgyűjtés / adatmódosítás, regisztrált felhasználók kezelése, etc. szimplán PHP & SQL kombóval működjön. Megoldható persze, de nem feltétlen éri meg vele bajlódni. Plusz ugye PureJS-el kivitelezhetetlen :))

    Megnéztem viszont a Folklóradatbázist is. Látom, hogyan épül fel és mit csinál, illetve azt is, hogy miért így.
    Viszont az is itt van a szemem előtt, hogy konkrétan én magam is építettem hasonlóképpen működő site-ot, igaz, PureJS használatával, mert leültem megírni. Amikor viszont azt megosztottam veletek, elég negatív hangvételűek voltak a kommentek, pl hogy "Miért JS végzi a CSS feladatát?", "Miért kell az adatokat máshonnan betölteni?", etc.
    Látom azt is, hogy itt nem csak adatok megjelenítéséről van szó, mint nálam volt. Szintén van adatbáziskezelés, regisztráció, felhasználói adatbázis, stb.
    Persze a mögöttes dolgokat nem láthatjuk (pl PHP, SQL), már amennyiben vannak.
    Ezzel a megoldással egyébként az a baj (szerintem és aszerint, amit erről hallottam, tehát lehet, nincs igazam), hogy a böngészőmotorok általi előre-sorolását mindössze annak köszönheti, hogy mekkora napi látogatószámmal rendelkezik, mert habár adatok tekintetében folyamatosan bővül, az alap HTML közben mit sem változik.

    Na, kezd végre érdemi beszélgetés kialakulni. Nagy respekt!

    Azt előre szögezzük le, hogy PHP-ról régen tovább fejlődtem Asp.Net Core C#-ra :D Beszélhetünk backendről és frontendről, de ezt a PHP-zást kérlek felejtsd el. Egy aranyos script nyelv, ami mindenre IS jó, de a PHP és a webfejlesztés története olyan, mint hogy mindenki rendőrnek születik (PHP használata), csak van aki tovább tanul (kb. bármelyik más nyelvet hozhatnám).
    Igen, a webshopnál egyetértünk, hogy miért lett ilyen, és ott csak a legszükségesebb dinamikus dolgok vannak js-ezve. Ahol a nagy terhelés + gyors renderelés a lényeg az SSR megkerülhetetlen, a js dolgok többsége is lazy load-olva van.

    A folkloradatbázist nem akarom védeni, csak elmesélem, hogy miért lett ilyen, amilyen.
    Magát az adatbázist és a fölötte lévő API-t (ami ismét meglepetés, de nem PHP-ben, hanem Java-ban készült) a múzeumosok kezelik, fejlesztik. Én (nem egyedül persze) csak a frontendet kellett, hogy elkészítsem, aminél a lényeg, hogy minél interaktívabb legyen.
    Tudom, állami megrendeléseknél szokás a pénz lenyúlás, de mi potom pénzből csináljuk, ergo fontos volt, hogy ne évekig pöcsöljön rajta papíron létező 20 fős programozó csapat tíz milliárdokért, hanem szuper gyorsan, nagyon gazdaságosan, határidőkre elkészüljünk (nem vagyunk NER-esek :( ) .
    Így adta magát a vuejs használata. Nem kell mindent nulláról megírni, hanem a lényegre tudunk koncentrálni (API kapcsolatok, bonyolult UI megvalósítások, UX minél barátibb legyen). Ettől még 100%-ig saját produktum az egész. Ha megnézed pl. az egyes eseményeket, ott a szegmens térképet, esemény térképet, szerintem látni fogod, hogy miről beszélek (az API néhol bűn lassú, erről mi nem tehetünk).
    Ráadásul azért 2022-t írunk, az SPA-k is egyre SEO barátabbak tudnak lenni (nézd meg, hogy vannak meta tagjeink pl. illetve egészen kicsi js, css méretekkel dolgozunk), illetve sitemap-et be lehet küldeni google-nek az API-ról is.

  • martonx
    veterán

    Mindegy is. Felesleges és leginkább nem fer dolog szellemi párbajt vívnom egy fegyvertelennel, így a továbbiakban nem is foglalkozom veled.

    Jelenleg is van olyan rendszerem, ami pure js-re alapoz.
    Miközben van egy rakás olyan rendszerem, amik meg vuejs-t használnak.
    Szerintem kategorikusan kijelenteni, hogy a keretrendszerek használata rossz, és kerülendő, és aki ezeket használja, az már nem is lesz a saját munkája, butaság.
    Nyilván írod ezt, mert fogalmad sincs, hogy mi is az, és mire jó egy angular / react / vuejs és mikor mit érdemes használni.

    Abszolút eset függő, hogy mikor érdemes valamelyiket alkalmazni a fentiek közül, és mikor érdemes pure js-el menni. Kategorikusan kijelenteni, hogy csak ez vagy csak az butaság.
    Amivel nem is lenne baj, ha nem pont kezdőket vinnél ezzel félre, szóval sajnálom, de ezúttal muszáj volt beleszólnom.

    Kettő példa mindkét esetre:
    1. Orvostechnikai Eszközök - Orvosi Eszközök Boltja - Medimarket.hu - pure js, kivétel a kosár (knockoutjs), checkout (knockoutjs), és a termék oldali képnézegető (sveltejs). SEO és pagespeed miatt webshopoknál általában kerülendő a nagy frontend keretrendszerek használata, itt többnyire server side rendering van használatban.
    2. Folklóradatbázis | Folklóradatbázis (azureedge.net) - teljes egészében vuejs-el készül, egészen sokat tudó komplex rendszer, maximálisan saját kód, leszámítva a vuejs-t. Néprajzi múzeum folklor adatbázisának kutatók felé szánt publikus adatbázisa, nem kritikus a SEO, és a pagespeed.

  • edari
    őstag

    Írja ezt túlzott önbizalommal az, akinek eddig 0 produktuma bizonyítja hozzáértését.

    Ez nem önbizalom kérdése. Szimplán tényleg nem szánok erre ennyi időt.
    A te hozzáértésedet pedig nagyon szépen mutatja ez a topic.

  • edari
    őstag

    Az a tény, hogy ezt idehánytad ahelyett, hogy ész érvekkel próbálnád meggyőzni a másikat (ahogyan én is tettem), hogy miért nincs neki igaza, az csak téged minősít.

    MontyBoa:
    "A konkrét rendszerhez írt könyvtárakat én nem nevezném keretrendszernek.
    A keretrendszer lényege pont az lenne, hogy általánosan használható...
    "

    Vegyük alapul a Webprogramozást, ha már úgyis témánál vagyunk. Adott egy Webfejlesztő, aki saját vállalkozásként űzi ezt a tevékenységet és több megrendelője is akad. Szerintem, amennyiben van egy saját, jól kidolgozott, stabil és működőképes rendszere, akkor azt fogja újra és újra eladni, a megrendelő által meghatározott változtatásokkal egyetemben. A változtatások nem feltétlen, sőt, esetek jelentős részében nem befolyásolja a már meglévő alap rendszert, sokkal inkább külcsínre megy.
    Így én azt gondolom, hogy keretrendszernek nevezhető, mert ugyan azt használja újra és újra, több projekthez, mindeközben mégsem használja több projekthez, hanem végsősoron ugyan ahhoz, csak más köntösben. Ezért is fog jól működni.

    Azt teljes mértékben megértem, hogy ami(k)ről itt szó van, az pont egy olyan dolog, ami az autóktól a repülőkig mindenhez IS passzol. De én mindössze erre reflektáltam annyit, hogy éppen emiatt lesz megbízhatatlan és instabil.

    Brozoo:
    "A JS keretrendszerek + libek nagyrészének mérete kb-ben mérhető. Szinte észrevehetetlen kódnövekedést okoz a használatuk."

    Természetesen ez így igaz, nem is vitatom. Csak látszik, hogy nagyon XXI. századiként gondolkodtok. Annak idején (C64 és társai korszak) ezek a plusz kb-k igencsak sok gondot tudtak okozni. Így nem volt mindegy az, hogy egy adott program hogyan volt megírva. Mert nemes egyszerűséggel nem volt hely. Én még ebből a korszakból szocializálódtam, így minden esetben törekszem arra, hogy a programjaim a lehető legletisztultabbak legyenek, illetve amennyiben van rá mód, nulla sallanggal.

    Egy nagyon egyszerű példa, hogy jobban ki tudjam fejteni, miért így gondolkodom: A Webprogramozás csak hobbi, a való életben vezérléstechnikus vagyok. 5-400 Voltig tervezek, építek és programozok vezérléseket. Utóbbihoz használok PLC-ket, HMI-ket és saját gyártású, PIC vezérlésű elektronikákat.
    A PLC-ket 2 általános nyelven lehet programozni: C-ben és az úgynevezett Létra-diagramban. Én utóbbiban dolgozom, mert sokkal áttekinthetőbb, letisztultabb (való igaz, a C-hez hasonlóan szintén egy magas-szintű programnyelvről beszélünk), és fordítást követően lényegesen kisebb méretű a feltöltendő fájl. Ez itt már számít, hiszen egy ilyen eszköznek a memóriája nem végtelen, mint egy számítógépé.
    A PIC vezérlés sem különbözik ettől sokat. Azt is lehet C-ben és Assembly-ben programozni.(Megjegyzés a guglizás helyett: A PIC egy mikrokontoroller). A PIC esetében hatványozottan igaz, hogy korlátozva vagyunk tárhely tekintetében. Vannak az ismerőseim között olyanok, akik C-ben programozzák az eszközt, én Assembly-ben teszem ezt. Az gyakorlatilag a gép nyelve.
    Ami itt a lényeg, hogy ugyan azt a feladatot meg lehet írni mindkét nyelvben, azonban mind kiterjedésére, mind a program futási idejére negatív kihatással van jelentősen, ha azt C-ben teszed meg.

    "Plusz ha használsz egy framework-öt vagy libet, az nem feltétlenül jelenti azt, hogy nem érted a működését. "

    Persze, nem feltétlen jelenti azt. Csak van elég tapasztalat azt illetően, hogy márpedig azt jelenti. Mert az ember márcsak ilyen, ha működik, elfogadja és nem érdekli, hogy mitől működik.
    Saját tapasztalatokból sem kell messzire menni. A cég, ahol dolgozom, megrendelt egy honlapot. Keretrendszerek sokaságából állt össze, annyi hibát dobott a console, hogy megszámolni is sok volt, telis tele volt megannyi felesleges sallanggal és mindezt úgy, hogy valójában egy funkciók nélküli, mondhatni digitális újság volt az elvárás. Ez szépen is működött, egészen addig, míg nem jött a vezetőség felől az igény egy speciális kalkulátorra, amivel az ügyfelek meg tudnak spórolni telefonálgatásokat.
    A kalkulátor elkészült, és beépült az oldalba. Ám amint azt valaki használni is akarta, úgy omlott össze az egész weboldal, mint egy kártyavár. És itt hozzáteszem, a kalkulátor önálló fájlként hibátlanul működött...

    Nem, szimplán drágább az időm annál minthogy egy hozzá nem értőt meggyőzzek arról, amiről fogalma sincs.

  • Bzozoo
    tag
    A megválaszolt hozzászólás már nem elérhető.

    A JS keretrendszerek + libek nagyrészének mérete kb-ben mérhető. Szinte észrevehetetlen kódnövekedést okoz a használatuk.Plusz mindent lehet minifiálni és nem is kell mindent beimportálni a projectedbe.
    [link]

    Plusz ha használsz egy framework-öt vagy libet, az nem feltétlenül jelenti azt, hogy nem érted a működését. (Vagy a későbbiekben ne lehetne megérteni).
    Én például gyakran megnézem, egy lib forráskódját is és javarészt értem, hogy mi is történik benne.

  • edari
    őstag
    A megválaszolt hozzászólás már nem elérhető.

    Őrület mennyi marhaságot összehordtál most.

    Bele se megyek hogy elmagyarázzam, meghagylak abban a hitben hogy neked van igazad.

  • edari
    őstag
    A megválaszolt hozzászólás már nem elérhető.

    Továbbra is butaságnak tartom ezt. Tudnék olyan projektet mutatni amit (gondolom még sokan mások is) pure JS-ben vért izzadva lehetne csak lefejeleszteni, és a végeredmény egy undorító spagetti kód lenne.

  • hiperFizikus
    senior tag

    Én is . És mi róluk a gyakorlati tapasztalatod, mert ha úgy adódik, akkor én is vennék, valamikor még nem tudom mikor .

    Azon kívül, hogy az összeset ki tudom rakni, mire vagy kíváncsi?

    Hát pl. hogy mechanikailag mennyire tartósak ?
    A kirakásukkal a sakkhoz képest mennyire lehet belefáradni ?
    Kopnak e a színeik ?
    ...stb.

  • Mr. Y
    őstag

    Sziasztok!

    Augusztusban születésnapomra kaptam szüleimtől egy különleges Puzzle-t. Gyerekkorom óta szeretem az ilyen logikai dolgokat, ezért is van többek között egy több, mint 40 tagú gyűjteményem a különböző formájú és mechanikájú, "Rubik" névvel illetett "kockákból".
    Ez viszont egy speciális naptár, melyen 8 darab, különböző elemet kell elhelyezni úgy, hogy kiadja az aktuális dátumot. Annyira megtetszett, hogy megcsináltam a játékot HTML + CSS + Pure JS felhasználásával, és most megosztanám ezt veletek. [LINK]

    Kis instrukció:

    - A játék csak és kizárólag érintőképernyőn működik
    - Leginkább telefonokra, Portait (álló) nézetre van optimalizálva
    - OS független

    Használat:

    - Betöltés során a naptár legenerálja önmagát, ezzel kijelölve az aktuális dátumot.
    - A naptár alatt megjelenik 8 darab játékelem, melyeket kattintani (megérinteni) lehet.
    - A felnyíló fülön található navigációs gombokkal lehet forgatni az elemeket, a jelzett permutáció darabszámig.
    - A kiválasztott elemet egyszerűen meg kell fogni és a helyére húzni (a pozícionálásban a program segít).
    - A táblára feltéve is van lehetőség a permutációk kiválasztására.
    - Ha úgy véled, helyén van az elem, kattints a pipára.
    - Ha egy elemet felhelyeztél a pályára, a pálya alatti képe elszürkül. Ha erre kattintasz, leveszi a pályáról.
    - Minden lehelyezett elem eltérő színnel jelenik meg, hogy jobban átlátható legyen.
    - Lehelyezést követően nem csak elszürkül az alsó piktogram, de felveszi a kiválasztott permutáció alakját is.

    Helyetted végzi...:

    - ...a naptári nap beállítását
    - ...a pontos pozícionálást
    - ...az ellenőrzést, hogy az adott elem a kiválasztott helyre feltehető-e
    - Jelez, ha kiraktad tökéletesen

    Futtathatási igények:

    - Webböngésző
    - Érintő-képernyő
    - Vélhetőleg mobiltelefon

    A jövő:

    Ha elég igény összegyűlik rá, mert esetleg hozzám hasonlóan ti is megkedvelitek ezt a kirakóst, akkor a jövőben lehet szó a fejlesztésekről, mint Landspace (fektetett) nézet, tablet-kompatibilitás, egérrel való irányítás lehetősége, stb.

    Jó játékot kívánok mindenkinek!

    Szerk.: Az előző kommentemet véletlen töröltem :)

  • hiperFizikus
    senior tag

    Gyerekkorom óta szeretem az ilyen logikai dolgokat, ezért is van többek között egy több, mint 40 tagú gyűjteményem a különböző formájú és mechanikájú, "Rubik" névvel illetett "kockákból".
    ;)

    Én is . És mi róluk a gyakorlati tapasztalatod, mert ha úgy adódik, akkor én is vennék, valamikor még nem tudom mikor .
    :F

    Hanem csináltam olyan HTML/JS programot, ami a Rubikhoz hasonló, és a HTML táblázat módon lett megjelenítve . Belekóstoltam a JS képpontonkénti programozásba is, de nem győztem türelemmel .
    :O

  • sztanozs
    veterán

    Így van, működik is a megoldás. Pontosan ezért is kérdeztem, hogy van-e erre valami speciális parancs vagy nincs.

    Nincs rá külön függvény.

  • martonx
    veterán

    Üdv!

    Bújom a js parancsokat, de nem találok megfelelőt. Lehet azért, mert nem létezik, de hátha, így megkérdezlek titeket.
    A replace() utasítás helyett keresek egy jobbat, az ugyanis egy megadott szót keres és cserél. Nekem arra lenne szükségem, hogy megadom a kezdő és vég pontot a string-ben, amit cseréljen ki egy általam meghatározott bármilyen szövegre.

    Például:
    let a = ‘kecske’;
    let b = ‘Kistarcsára nem jár vonat!’;
    let c = ???(20,24, a);
    result = ‘Kistarcsára nem jár kecske!;

    Most látható, hogy ez megoldható lenne egy replace(‘vonat’, a); utasítással is, viszont nem tudni, hogy mikor mit fog tartalmazni az adott string, így szóra nem lehet keresni. Azonban fontos lenne, hogy minden esetben a kezdő és végpont között cseréljen, még ha a cserélendő rész hossza nem is egyezik a cserélő szóval.

    Van erre olyan utasítás, amit nem találok, vagy azért nem találom, mert nincs?

    Előre is köszönöm a helyes megfejtéseket!

    Ezt szerintem neked kell megírnod, de legalább egyszerű, edari linkelt is egy példa megoldást.

  • edari
    őstag

    Üdv!

    Bújom a js parancsokat, de nem találok megfelelőt. Lehet azért, mert nem létezik, de hátha, így megkérdezlek titeket.
    A replace() utasítás helyett keresek egy jobbat, az ugyanis egy megadott szót keres és cserél. Nekem arra lenne szükségem, hogy megadom a kezdő és vég pontot a string-ben, amit cseréljen ki egy általam meghatározott bármilyen szövegre.

    Például:
    let a = ‘kecske’;
    let b = ‘Kistarcsára nem jár vonat!’;
    let c = ???(20,24, a);
    result = ‘Kistarcsára nem jár kecske!;

    Most látható, hogy ez megoldható lenne egy replace(‘vonat’, a); utasítással is, viszont nem tudni, hogy mikor mit fog tartalmazni az adott string, így szóra nem lehet keresni. Azonban fontos lenne, hogy minden esetben a kezdő és végpont között cseréljen, még ha a cserélendő rész hossza nem is egyezik a cserélő szóval.

    Van erre olyan utasítás, amit nem találok, vagy azért nem találom, mert nincs?

    Előre is köszönöm a helyes megfejtéseket!

  • Bzozoo
    tag

    Üdvözlet!

    Közel sem biztos, hogy jó topikba teszem fel a kérdést, de hátha!
    Valahol valamikor olvastam, hogy valamiféle speciális engedélyek kellenek olyan Weboldalak létrehozásához (már hogy ne legyen instant letiltva), ahol az oldal folyamatosan frissíti önmagát vagy éppen egy adott paramétert. Ne menjünk messzire, pl egy chat applikáció.

    Viszont nem tudom, milyen kulcsszavakkal kellene rákeresnem, hogy erről a témáról átfogóbban is olvashassak. Tudtok ebben segíteni egy rámutatással?

    Köszönöm előre is!

    👉Socket

  • coco2
    őstag

    Ez azért több tekintetben is félre érthető :)
    Nem mellesleg: ugyan nem kint lakok, de Szlovákiában dolgozom. A munkatársaim 100%-ban szlovákok, noha a nagyfőnök magyar, de ő kint él. Sem én, sem a főnök nem beszélünk szlovákul. A munkatársaink ~65%-a beszél magyarul, a többiekkel angolul kommunikálnunk. Sosem volt ebből probléma, mindenki mindenkivel meg tudja értetni magát.

    Jó azt értem, de aki mégis veszi a fáradságot a helyi nyelvet megtanulni, azokat miért kellene lehúzni? Lehet vannak ott cukorka lányok, és miattuk megéri :K

  • sztanozs
    veterán

    Volt már párszor, nem nagy kunszt, így simán be lehet vállalni. Szóval néha úgy érzem, a k*rva anyátok! Csak azt tudnám, hogy ha ez a topik is az önelégült, beképzelt seggfejek gyülekezete [veled az élen], hogy a pics@ba maradt eddig aktív… Bárhányszor leírok egy jópofa észrevételt, a degeneráció végett el sem jut a tudatotokig!
    Szerintetek én nem találom meg ezeket? Attól még érdekes maga a puszta létezése! Habár tisztában vagyok vele, hogy a kommentem törlését követően engem is kib@sznak innen franc tudja meddig, valójában az lenne igazságos, ha veled együtt tennék meg ezt! Mert TE vagy az, akinek a legnagyobb itt a pofája és TE vagy az, aki lépten nyomon személyeskedsz!

    Őszintén, kíváncsian várom, mi fog kisülni ebből!

    Ne haragudj, de a hsz-odra rögtön eszedbe jutott:

  • Bzozoo
    tag

    Sziasztok!

    Nem, nem kérdezek semmit :)) csak egy kis érdekesség, ami nem tudom, hogy fejlesztői hiba-e, vagy régóta fennálló probléma, minden esetre érdekes, de megkerülhető.
    Történt ugyanis, hogy egy adott beviteli mezőnek használni akartam az értékét JS-ből.
    <input type="number" id="szam" value="13">
    Az ehhez tartozó lekérdezés a legsztenderdebb valaha:
    let szam = document.getElementById("szam").value;
    Namost sokat csináltam régebben is ilyet, de mint kiderült, egyetlen dolgot nem akartam vele: Összeadási műveletet végrehajtani.

    Ugyanis nem éppen együttműködő ;]
    Kivonni, szorozni, osztani, gyököt vonni, stb simán lehet probléma nélkül. De amint hozzáadnál valamit: szam = szam + 600; // result: 13600. Szóval string lesz belőle, noha egy számbeviteli változóról van szó... Miután ezt felfedeztem, elkezdtem kísérletezni vele. Számértékké konvertálásra azonnal hibát dobott a console. String-é alakítani és utána vissza num-ra lehet és utána minden működik, még az összeadás is... Csak lássuk be, nem a legszebb megoldás :(
    Így maradt a jó öreg mottó: Ha valamit nem tudsz megoldani, kerüld meg! Így lett végül a megoldás szam = (szam / 1) + 600 // result: 613. Szebb is, működik is, de egyébként felesleges lenne, ha néha nem kattanna meg a böngészők motorja ;]

    Chrome alatt tesztelve

    Valami nagyon félre ment akkor, mert létezik nagyon sok jó módszer a stringek number-ré alakítására. Valamelyik csak egész számokkal használható, valamelyik pedig a decimálisokat tartalmazókkal is működik.

  • coco2
    őstag

    Sziasztok!

    Nem, nem kérdezek semmit :)) csak egy kis érdekesség, ami nem tudom, hogy fejlesztői hiba-e, vagy régóta fennálló probléma, minden esetre érdekes, de megkerülhető.
    Történt ugyanis, hogy egy adott beviteli mezőnek használni akartam az értékét JS-ből.
    <input type="number" id="szam" value="13">
    Az ehhez tartozó lekérdezés a legsztenderdebb valaha:
    let szam = document.getElementById("szam").value;
    Namost sokat csináltam régebben is ilyet, de mint kiderült, egyetlen dolgot nem akartam vele: Összeadási műveletet végrehajtani.

    Ugyanis nem éppen együttműködő ;]
    Kivonni, szorozni, osztani, gyököt vonni, stb simán lehet probléma nélkül. De amint hozzáadnál valamit: szam = szam + 600; // result: 13600. Szóval string lesz belőle, noha egy számbeviteli változóról van szó... Miután ezt felfedeztem, elkezdtem kísérletezni vele. Számértékké konvertálásra azonnal hibát dobott a console. String-é alakítani és utána vissza num-ra lehet és utána minden működik, még az összeadás is... Csak lássuk be, nem a legszebb megoldás :(
    Így maradt a jó öreg mottó: Ha valamit nem tudsz megoldani, kerüld meg! Így lett végül a megoldás szam = (szam / 1) + 600 // result: 613. Szebb is, működik is, de egyébként felesleges lenne, ha néha nem kattanna meg a böngészők motorja ;]

    Chrome alatt tesztelve

    parseInt() - legrosszabb esetben ez az atombiztos, ami után nyugodtan alhatsz

  • nevemfel
    senior tag

    Sziasztok!

    Nem, nem kérdezek semmit :)) csak egy kis érdekesség, ami nem tudom, hogy fejlesztői hiba-e, vagy régóta fennálló probléma, minden esetre érdekes, de megkerülhető.
    Történt ugyanis, hogy egy adott beviteli mezőnek használni akartam az értékét JS-ből.
    <input type="number" id="szam" value="13">
    Az ehhez tartozó lekérdezés a legsztenderdebb valaha:
    let szam = document.getElementById("szam").value;
    Namost sokat csináltam régebben is ilyet, de mint kiderült, egyetlen dolgot nem akartam vele: Összeadási műveletet végrehajtani.

    Ugyanis nem éppen együttműködő ;]
    Kivonni, szorozni, osztani, gyököt vonni, stb simán lehet probléma nélkül. De amint hozzáadnál valamit: szam = szam + 600; // result: 13600. Szóval string lesz belőle, noha egy számbeviteli változóról van szó... Miután ezt felfedeztem, elkezdtem kísérletezni vele. Számértékké konvertálásra azonnal hibát dobott a console. String-é alakítani és utána vissza num-ra lehet és utána minden működik, még az összeadás is... Csak lássuk be, nem a legszebb megoldás :(
    Így maradt a jó öreg mottó: Ha valamit nem tudsz megoldani, kerüld meg! Így lett végül a megoldás szam = (szam / 1) + 600 // result: 613. Szebb is, működik is, de egyébként felesleges lenne, ha néha nem kattanna meg a böngészők motorja ;]

    Chrome alatt tesztelve

    Nem tudom, hogyan akartad számmá konvertálni a stringet, de ez jól működik:

    <!DOCTYPE html>
    <html lang="en">
    <head>
        <meta charset="UTF-8">
        <meta http-equiv="X-UA-Compatible" content="IE=edge">
        <meta name="viewport" content="width=device-width, initial-scale=1.0">
        <link rel="shortcut icon" href="#">
        <title>Document</title>
    </head>
    <body>
        <input type="number" id="szam" value="13">
        <script>
            let szam = document.getElementById("szam").value;
            szam = Number(szam);
            szam += 600;
            console.log(szam);
        </script>
    </body>
    </html>

  • dqdb
    nagyúr

    Sziasztok!

    Nem, nem kérdezek semmit :)) csak egy kis érdekesség, ami nem tudom, hogy fejlesztői hiba-e, vagy régóta fennálló probléma, minden esetre érdekes, de megkerülhető.
    Történt ugyanis, hogy egy adott beviteli mezőnek használni akartam az értékét JS-ből.
    <input type="number" id="szam" value="13">
    Az ehhez tartozó lekérdezés a legsztenderdebb valaha:
    let szam = document.getElementById("szam").value;
    Namost sokat csináltam régebben is ilyet, de mint kiderült, egyetlen dolgot nem akartam vele: Összeadási műveletet végrehajtani.

    Ugyanis nem éppen együttműködő ;]
    Kivonni, szorozni, osztani, gyököt vonni, stb simán lehet probléma nélkül. De amint hozzáadnál valamit: szam = szam + 600; // result: 13600. Szóval string lesz belőle, noha egy számbeviteli változóról van szó... Miután ezt felfedeztem, elkezdtem kísérletezni vele. Számértékké konvertálásra azonnal hibát dobott a console. String-é alakítani és utána vissza num-ra lehet és utána minden működik, még az összeadás is... Csak lássuk be, nem a legszebb megoldás :(
    Így maradt a jó öreg mottó: Ha valamit nem tudsz megoldani, kerüld meg! Így lett végül a megoldás szam = (szam / 1) + 600 // result: 613. Szebb is, működik is, de egyébként felesleges lenne, ha néha nem kattanna meg a böngészők motorja ;]

    Chrome alatt tesztelve

    behavior by design

    Az input.value property string típusú attól függetlenül, hogy milyen típust állítasz be az elemnek. JavaScriptben string + szám = string, azért kapod azt, amit, míg a többi esetben a stringet számmá konvertálja.

  • Bzozoo
    tag

    [Link] Kár, hogy nincs a PH!-n Bann gomb :W :W :W
    Úgy bírom, hogy az EGOizmusban szenvedő alanyok (veled az élen) nem értik meg a kérdést, hanem kitalálnak helyette mást amit megválaszolnak, mindezt csak azért, hogy utána le lehessen degradálni a kérdezőt... :W Az itt leírt válasznak lóf*szt, még az sem történt a legkevesebb köze SINCS a kérdésemhez!
    Itt nem én vagyok az, aki nem hajlandó rákeresni semmire (a nyelvtudásom pedig köszöni, jól van) hanem ti vagytok azok, akik képtelenek elolvasni, értelmezni a kérdező kommentjét. Gondolkodj egy kicsit és rá fogsz jönni: Ebben itt nem én vagyok a hülye!

    Bzozoo: Ki a retek mondta azt, hogy el akarom tüntetni belőle a számokat? Senki! Nem ez a feladat! Hanem az, hogy a program egyenlőnek tekintsen 2 stringet akkor, ha azokban csak számbeli eltérés található. Ettől függetlenül a számok meglehetősen fontosak!

    Szerk.: Ha el akarnám távolítani a számokat és úgy összevetni, majd pedig utólagosan ismét egyesíteni a Stringeket a számokkal, akkor megtenném. Mindössze egy egyszerűbb és szebb megoldásra lettem volna kíváncsi!

    Ha nem tünteted el a számokat, akkor soha nem lesznek egyenlőek.
    Nem azt kérdezted, hogy tudod, hogy regex-el megoldható, de érdekel, hogy van e egyszerűbb megoldás, hanem alapból visszautasítottad a megoldást, azzal, hogy az nem jó mert nem a végén van a szám.

  • martonx
    veterán

    [Link] Kár, hogy nincs a PH!-n Bann gomb :W :W :W
    Úgy bírom, hogy az EGOizmusban szenvedő alanyok (veled az élen) nem értik meg a kérdést, hanem kitalálnak helyette mást amit megválaszolnak, mindezt csak azért, hogy utána le lehessen degradálni a kérdezőt... :W Az itt leírt válasznak lóf*szt, még az sem történt a legkevesebb köze SINCS a kérdésemhez!
    Itt nem én vagyok az, aki nem hajlandó rákeresni semmire (a nyelvtudásom pedig köszöni, jól van) hanem ti vagytok azok, akik képtelenek elolvasni, értelmezni a kérdező kommentjét. Gondolkodj egy kicsit és rá fogsz jönni: Ebben itt nem én vagyok a hülye!

    Bzozoo: Ki a retek mondta azt, hogy el akarom tüntetni belőle a számokat? Senki! Nem ez a feladat! Hanem az, hogy a program egyenlőnek tekintsen 2 stringet akkor, ha azokban csak számbeli eltérés található. Ettől függetlenül a számok meglehetősen fontosak!

    Szerk.: Ha el akarnám távolítani a számokat és úgy összevetni, majd pedig utólagosan ismét egyesíteni a Stringeket a számokkal, akkor megtenném. Mindössze egy egyszerűbb és szebb megoldásra lettem volna kíváncsi!

    De érted (vagy nem, akkor is megpróbálom, légyszi ne szívd mellre). Ezt két lépésben kell megcsinálni.
    1. lépés: eltünteted a számokat :D bármilyen hihetetlen is, amíg nem tünteted el őket, addig sosem lesz egyenlő az inp51ort és az inport21 (juhú, már ezen is mekkorát röhögtem, mert az import lenne a helyes, de ne legyünk nyelvtan nácik, elsőre sikerült megállnom, másodikra elbuktam, my bad).
    2. lépés: összehasonlítod a maradék stringeket, és yaaaay pont azt az eredményt fogod kapni, amit elvársz.
    Nyugi értette itt mindenki a problémád :K
    Amúgy meg számomra addig nem igazi probléma a probléma, amíg jsfiddle, codepen link nincs benne :), addig csak beszélgetek, szórakozok, élcelődök. De ezt tudhatnád.

  • edari
    őstag

    Sziasztok!

    Adatokat hasonlítok össze egymással és a különbözőket kiiratom. Például:

    1) Inport01
    2) Export01
    3) Bevétel22
    4) Inport62
    5) Bevétel17

    Ez ugye mindegyik különbözik, ám van, ami csak számértékben tér el. Meg lehet oldani azt, hogy (nem ezek a szövegek egyébként) az összehasonlításnál ne vegye figyelembe a számbeli eltéréseket? Tehát hogy az itt szereplő 5 adatból a program számára csak 3 különböző legyen?

    Előre is köszönöm.

    Ui.: Nem célspecifikus, így ismeretlenek a szövegek, csak az a biztos, hogy számbeli eltéréseket tartalmaz.

    Ha mindig a szöveg végén van a szám, akkor akár regex.

  • crocy
    tag

    Sziasztok!

    Sajnos nem találok megoldást a neten pure JS alkalmazásával a következő feladatra:
    Adott egy DIV, melynek nincs ID-je, de van Class-a.
    Ha le akarom kérdezni, hogy hány pixeles a mérete az adott DIV-nek, csak ID-re találok megoldásokat, Class-ra nem. Viszont nekem most az kellene.

    Megoldható egyáltalán?

    Előre is köszönöm a válaszokat!

    Sziasztok!

    Sajnos nem találok megoldást a neten pure JS alkalmazásával a következő feladatra:
    Adott egy DIV, melynek nincs Class-a, de van ID-je.
    Ha le akarom kérdezni, hogy hány pixeles a mérete az adott DIV-nek, csak Class-ra találok megoldásokat, ID-re nem. Viszont nekem most az kellene.

    Megoldható egyáltalán?

    Előre is köszönöm a válaszokat!

  • sztanozs
    veterán

    "és veled mint szakival nem fogok ellenkezni"

    Itt senki sem szaki. Csak mindenki annak hiszi magát ;]

    szakinak lejet szaki, csak nem programozó

  • sztanozs
    veterán

    Sziasztok!

    Sajnos nem találok megoldást a neten pure JS alkalmazásával a következő feladatra:
    Adott egy DIV, melynek nincs ID-je, de van Class-a.
    Ha le akarom kérdezni, hogy hány pixeles a mérete az adott DIV-nek, csak ID-re találok megoldásokat, Class-ra nem. Viszont nekem most az kellene.

    Megoldható egyáltalán?

    Előre is köszönöm a válaszokat!

    Nem néz szerintem senki hülyének, de pl az alábbi google keresés összes találata releváns, már az első oldalon is. Konkrétan ez volt az első kereső-kifejezés, amit beírtam:
    https://www.google.com/search?q=get+dom+item+size+by+class

  • martonx
    veterán

    Vegyük akárhogy is, amit te küldtél, az egyszerűbb és ugyan úgy ellátja a feladatát...

    Ebben az egészben csak azt nem értem, miért kell hülyének nézni valakit csak azért, mert kérdez... Úgy tűnik ez itt a morál...

    Szerinted, ha egy matematikus fórumban valaki beírja, hogy sziasztok matematikus vagyok, az lenne a kérdésem, hogy 2X5 mennyi, mert sehogy se bírok rájönni, hogy számoljam ki, akkor azt azért nézik-e hülyének mert kérdezni mert? :U

  • martonx
    veterán

    Persze, hogy működik ez lett végül a megoldás. Először (még a kérdés feltétele előtt) azzal a módszerrel próbálkoztam, amit martonx írt, de nem jött be.
    Viszont az látható ebből, hogy a vérprofi programozóknak (mint martonx) kötelező elbonyolítani a kódokat, máskülönben nem mondhatná magát programozónak.
    Én pedig mindig a legegyszerűbb, legrövidebb, legkevesebb hardvert igénylő megoldásokra törekszem. Egyesek szemében ezért nem vagyok és nem is leszek programozó, legfeljebb valami kezdő bepróbálkozó...

    Légyszi írd már le, hogy mit hol bonyolítottam el?

    document.getElementsByClassName('mystupidclass')[0]

    Ez tényleg bonyolult? És szerinted ezt tényleg én direkt bonyolítom el? Rettentően szórakoztat ez a beszélgetés :D

  • edari
    őstag

    Vegyük akárhogy is, amit te küldtél, az egyszerűbb és ugyan úgy ellátja a feladatát...

    Ebben az egészben csak azt nem értem, miért kell hülyének nézni valakit csak azért, mert kérdez... Úgy tűnik ez itt a morál...

    Erre nem tudok válaszolni.

  • edari
    őstag

    Persze, hogy működik ez lett végül a megoldás. Először (még a kérdés feltétele előtt) azzal a módszerrel próbálkoztam, amit martonx írt, de nem jött be.
    Viszont az látható ebből, hogy a vérprofi programozóknak (mint martonx) kötelező elbonyolítani a kódokat, máskülönben nem mondhatná magát programozónak.
    Én pedig mindig a legegyszerűbb, legrövidebb, legkevesebb hardvert igénylő megoldásokra törekszem. Egyesek szemében ezért nem vagyok és nem is leszek programozó, legfeljebb valami kezdő bepróbálkozó...

    Megnéztem martonx kódját, szerintem nincs túlbonyolítva.

  • Úgy érzem sok minden nem értesz még abból a kevésből sem, amit leírtam. Na ez a No Comment :D

    A fentebb írt megoldás is jó. Én csak simán így csinálnám:
    document.querySelector(".myclass");

  • martonx
    veterán

    Úgy érzem sok minden nem értesz még abból a kevésből sem, amit leírtam. Na ez a No Comment :D

    Nézd, a misztikus módszer, amit javasoltam, hogy id helyett class-al hogy tudsz js-el hivatkozni egy div-re, működik: JSFiddle - Code Playground
    Tudom hihetetlen, hogy ilyen félelmetesen bonyolult fekete mágiák vannak js-ben. Sebaj, fel a fejjel, jó tanulást!

    A példa kódot igyekeztem minél egyszerűbben, olvasmányosan megírni, hogy még azok is megértsék, akik profik, de eddig csak a js speciálisan miniatűr szeletét használták. Remélem nem lett átláthatatlanul bonyolult.

  • martonx
    veterán

    Nos azért, mert valaki nem ismeri a JS 100%-át, még nem ledegradálandó! Hidd el, elég régóta foglalkozom vele és kimondottan sok programot írtam már meg különböző feladatokra tiszta JS használatával, így attól, hogy nem vagyok profi, még nem leszek kezdő sem!
    Ha egy programnyelvnek vannak olyan részei, amit az ember sosem használt korábban, miért kéne hülyének nézni csak azért mert most arra lenne szüksége és nem tudja???

    Nem azért tettem fel a kérdést, mert hülye lennék. Sőt! Amit te írtál (pontosabban gondolom amit írni akartál, mert még ezt sem sikerült helyesen) próbáltam, de nem adja vissza az értéket! Ezért gyanakodtam arra, hogy esetleg nem jó a megoldásom!

    edari: Köszönöm.

    LOL No comment :D
    Matematikus vagy, aki állítása szerint tud deriválni, de azért fórumban rákeres, hogy 2X5 vajon mennyi is, mert még sosem volt szüksége eddig pont a szorzótáblára :D
    Bearanyoztad a napom, köszönöm! :R
    Peace!

  • martonx
    veterán

    Sziasztok!

    Sajnos nem találok megoldást a neten pure JS alkalmazásával a következő feladatra:
    Adott egy DIV, melynek nincs ID-je, de van Class-a.
    Ha le akarom kérdezni, hogy hány pixeles a mérete az adott DIV-nek, csak ID-re találok megoldásokat, Class-ra nem. Viszont nekem most az kellene.

    Megoldható egyáltalán?

    Előre is köszönöm a válaszokat!

    document.getElementsByClassameN('myclass')[0]

    jó lenne legalább minimálisan képben lenned a javascripttel :D

  • edari
    őstag

    Sziasztok!

    Sajnos nem találok megoldást a neten pure JS alkalmazásával a következő feladatra:
    Adott egy DIV, melynek nincs ID-je, de van Class-a.
    Ha le akarom kérdezni, hogy hány pixeles a mérete az adott DIV-nek, csak ID-re találok megoldásokat, Class-ra nem. Viszont nekem most az kellene.

    Megoldható egyáltalán?

    Előre is köszönöm a válaszokat!

    querySelector?

  • Taci
    addikt

    Valami ilyesmire, köszönöm szépen. De hogy én ezt miért nem találtam :F

    Nekem ez volt a legelső Google-találat. Lehet, Bingen nézted. :D

  • Taci
    addikt

    Sziasztok!

    Lehet, furcsa a kérdésem, de fontos. Adott egy site, amiben van egy iframe. Az iframe behív egy másik oldalt.
    Kérdés az, hogy a két oldal egymással tud-e kommunikálni?

    Konkrétan az lenne a cél, hogy a behívott oldal információt közöljön az őt behívó oldallal, akár csak úgy, hogy van benne egy azonosítóval ellátott DIV, amit a behívó le tud esetleg kérdezni. Ez megoldható?

    Előre is köszönöm a válaszokat!

    Ilyesmire gondolsz?
    [link]
    Az alján van egy jó kis példa is hozzá.

  • disy68
    aktív tag

    Sziasztok!

    Céges munkáink során gyakran van dolgunk A4-es formanyomtatványokkal, melyeket tömegesen kell gyártani, kevés adat módosításával. Az ilyen esetekre szoktam gyártani HTML + CSS + JS alapon működő, kliens oldali böngészőből futó célraorientált appokat, ahol kollégáim pár input mező kitöltésével azonnal megkapják az A4-es nyomatot.
    Ezt a legegyszerűbben mm-ben meghatározott CSS, adatbeillesztésre használt JS és HTML <table> keret alkalmazásával csinálom, ahol a CSS-ben van egy külön nyomtatónézet, a JS pedig még a CTRL+P-t (window.print();) is megnyomja helyettük :)

    Most azonban különlegesebb volna a feladat, ugyanis a lementendő PDF tartalmaz olyanokat, melyeket lövésem sincsen, hogyan tegyek bele. Itt egy kép:

    A sárgával kijelölt zóna a dokumentum címe, ami nem egyezik meg a dokumentum elmentési nevével (nem dokumentum.pdf, hanem pl kiskacsa).
    A zöldel kijelölt zónák pedig könyvjelzők (kattintásra oda is ugrik a dokumentum megfelelő részéhez).

    Kérdésem az lenne, hogy azon módszer alkalmazásával, amivel eddig dolgoztam (itt leírtak) megolható-e ez, vagy ha nem, megoldható-e mással?

    Előre is köszönöm a válaszokat!

    Ui.: Miért ebbe a topikba teszem fel a kérdést? Mert azt gyanítom, a megoldásnak köze lesz a JS-hez.

    A pdf-et ebben az esetben nem a js csinálja, hanem valami nyomtatóként beépülő pdf generáló program (böngészőjé, microsoft-os, acrobat, akármi), ami a kapott oldalból csinál neked pdf-et. Ezeknek nem igazán szokott lenni sok beállításuk a méreten kívül. Lehet, hogy van olyan, ami esetleg generál valami alapján könyvjelzőt a végső pdf-be meg a dokumentum nevét is esetleg belerakja, de nem fogadnék rá.

    Ehhez sanszosan szükség lesz valami explicit pdf készítő lib-re, akár javascript, akár backend oldalon. Egy gyors keresés, első találat (jsPdf), ránézésre tud sokmindent.

  • disy68
    aktív tag

    Időzítés végett. Minden elem alapvetően el van rejtve és minden elemen belül található egy dátum. Ami dátum már elmúlt, az ahhoz tartozó elem megjelenik. Annó JSON bevetésével oldottam ezt meg, de jelen projektben ez nem használható.

    Szóval ott van minden infó ahhoz, hogy megjelenjen az elem vagy sem (a dátum) és továbbra sincs semmi jelentősége az id-nak.

  • edari
    őstag

    Köszönöm. Bár ahogy nézem, ezzel ugyan ki tudom jeleztetni, de attól a kód továbbra is leáll, nem?

    Nem.

  • disy68
    aktív tag

    Sziasztok!

    Adott egy HTML oldal, melyen az alábbi azonosítókkal ellátott elemek vannak:
    <div id="element1"></div>
    <div id="element2"></div>
    <div id="element3"></div>
    <div id="element4"></div>
    <div id="element5"></div>

    Erre írnék egy scriptet, ami vizsgálja őket (1-sokáig). Viszont, mivel az elemek száma folyamatosan nő, a JS-be pedig nem óhajtok belenyúlni, így olyan kérdésem lenne, hogyha a program rákeres (az itt lévő minta alapján) <div id="element6"></div>-ra, ami nem létezik, van-e lehetőség rá, hogy ne Console hibával lépjen ki, hanem valahogyan jelezze (akár alert elemmel), hogy az amire rákeresett nem létezik és normálisan, hiba generálása nélkül álljon le?
    Ugyanis ha hibával áll le, akkor nem folytatja a futását a program, márpedig lennének még sorok alatta :)

    Előre is köszönöm a válaszokat!

    Miért van szükség, hogy mindegyiknek legyen id-ja?
    A kérdésed alapján az a gyanúm, hogy valami loop-ban keresel getElementById-val ahelyett, hogy pl. kapna minden elem egy azonos class-t és lekérnéd az összeset egyszerre egy querySelectorAll('.közösclass')-al és fel sem merülne ez az egész.

  • edari
    őstag

    Sziasztok!

    Adott egy HTML oldal, melyen az alábbi azonosítókkal ellátott elemek vannak:
    <div id="element1"></div>
    <div id="element2"></div>
    <div id="element3"></div>
    <div id="element4"></div>
    <div id="element5"></div>

    Erre írnék egy scriptet, ami vizsgálja őket (1-sokáig). Viszont, mivel az elemek száma folyamatosan nő, a JS-be pedig nem óhajtok belenyúlni, így olyan kérdésem lenne, hogyha a program rákeres (az itt lévő minta alapján) <div id="element6"></div>-ra, ami nem létezik, van-e lehetőség rá, hogy ne Console hibával lépjen ki, hanem valahogyan jelezze (akár alert elemmel), hogy az amire rákeresett nem létezik és normálisan, hiba generálása nélkül álljon le?
    Ugyanis ha hibával áll le, akkor nem folytatja a futását a program, márpedig lennének még sorok alatta :)

    Előre is köszönöm a válaszokat!

    [link] -> lásd return value

  • sztanozs
    veterán

    Sziasztok!

    Ha van egy loop ciklusom, akkor amíg az le nem jár, nem látható a végeredmény. Példa.

    A példában látható, hogy az X azonosítóval ellátott elem végeredménye: 1000. Csakhogy! Én szeretném látni az összes többi állapotot, nem csak a végeredményt. Tudom, hogy a példám rohadt gyorsan fut le hozzá, de a végcél, amire kellene, az nem ennyiből áll, konkrétan egy több mp-ig futó kód állapotát akarom kiiratni %-ban.

    Kérdés az, hogy van-e erre megoldás? Előre is köszönöm a válaszokat!

    Ui.: Érdekesség, ahogyan látható a példában is, Console-ban működik a folyamatos kijelzés.

  • Mr. Y
    őstag

    Sziasztok!

    Kidolgoztam egy konvertert JS alapokon.
    A következőt csinálja:
    - Egy TextArea mezőbe 1:1-be be kell másolni egy excel tartalmát.
    - A program kategorizálja a sorokat tartalmak alapján.
    - Összesen 4 fajta formátumban elrendezi őket.
    - Minden opcióhoz társítva van egy egyszerű másolás script.
    - A kimásolt tartalmak úgy vannak generálva, hogy egy excel táblázatba másolva a helyes formátumban jelenjenek meg.

    Ezt szeretném kicsit fejleszteni és lövésem sincsen, hogy egyáltalán lehetséges-e.
    A végeredménnyel ugyanis az alábbi történik:

    Megnyitnak egy excel táblázatot és készítenek 4 tabot. Minden tabba a megfelelő formátumú végeredményt beillesztik.

    A kérdés az lenne, lehetne-e ezt automatizálni? Hogy csak egy Download gomb legyen és a konvertált végeredményekből létrehozza az excel fájlt a 4 tabbal, a megfelelő helyre betéve a megfelelő contentet és azt letöltse?

    Megoldható ez?
    Előre is köszönöm a válaszokt!

    Találtam megoldást, csak másként kellett keresni :)

  • Sziasztok!

    Összedobtam egy JSFiddle-t a problémáról.
    A probléma a következő: Adott 2 gomb, ami az én laikus olvasatomban ugyan azt kellene, hogy csinálja. Mindkettő JSON kezelés.
    Csakhogy, az első gomb egy input (valóságban textarea, de itt lényegtelen) mezőbe beillesztett JSON formátummal dolgozna, a másik pedig egy JS-ben definiált JSON formátummal. A kettő tulajdonképpen ugyan az.
    Mindazonáltal csak a második működik, az elsőre minden esetben ugyan az a válasz: undefinied. Persze azt már nem mondaná meg a console, hogy mi a véres t*k*m nincs definiálva...

    Valaki lát különbséget? Előre is köszönöm a válaszokat!

    Ui.: Számomra az első gomb működése lenne a fontos.

    @martonx: én is hiányoltam a getElementById-t, de meglepő módon működik és fogalmam sincs, hogy miért :DDD talán az input+button miatt mert egy form? :F

    @Mr. Y: ha kiiratod simán az array-t akkor ott már láthatod is mi a hiba ...
    JSFiddle

  • martonx
    veterán

    Sziasztok!

    Összedobtam egy JSFiddle-t a problémáról.
    A probléma a következő: Adott 2 gomb, ami az én laikus olvasatomban ugyan azt kellene, hogy csinálja. Mindkettő JSON kezelés.
    Csakhogy, az első gomb egy input (valóságban textarea, de itt lényegtelen) mezőbe beillesztett JSON formátummal dolgozna, a másik pedig egy JS-ben definiált JSON formátummal. A kettő tulajdonképpen ugyan az.
    Mindazonáltal csak a második működik, az elsőre minden esetben ugyan az a válasz: undefinied. Persze azt már nem mondaná meg a console, hogy mi a véres t*k*m nincs definiálva...

    Valaki lát különbséget? Előre is köszönöm a válaszokat!

    Ui.: Számomra az első gomb működése lenne a fontos.

    Nagy különbség, hogy alapvetően rosszul olvasod ki az inputból a kódot. document.getElementById-val fogod az input element-et, és szedd ki a value-ját. Ezt utána már csak Json.Parse-olni kell, és máris ugyanott leszel, mint a JS-ben tárolt json-nál.

Új hozzászólás Aktív témák

Hirdetés