- Yettel topik
- Apple iPhone 16 Pro - rutinvizsga
- Samsung Galaxy A56 - megbízható középszerűség
- Nothing Phone (3a) és (3a) Pro - az ügyes meg sasszemű
- One mobilszolgáltatások
- Mi nincs, grafén akku van: itt a Xiaomi 11T és 11T Pro
- VoLTE/VoWiFi
- Mobil flották
- Xiaomi 15 - kicsi telefon nagy energiával
- Google Pixel 8a - kis telefon kis késéssel
-
Mobilarena
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
-
v2izzy
tag
Hmm, igaz.
Gondoltam rá, hogyha sokáig nem fut le a függvény akkor addigra megváltozik, de logikusnak tűnt a leírásom (mert szerintem úgy jó lehetne).Hát egy megoldás rá, hogy .bind-al adod neki az értéket this-ben viszont így a függvény this-je ugye eltűnik, de ha ez nem gond, akkor megoldás lehet. példa
-
v2izzy
tag
Nem kell átadnod, egyszerűen csak használd fel a path változót a callback függvényben.
$("#list").append('<li>' + path + ': ' + musicProperties.artist + ', ' + musicProperties.title + '</li>');
Itt egy példa.
Már gondolkodtam ezen, hogy honnan tudja az értékeket, bár nem kerestem, és most hirtelen nem is találtam erre konkrét leírást. Aki tudja pontosan, leírhatja, mert engem is érdekelne.
Amúgy én úgy gondoltam, hogy amikor meghívsz egy függvényt függvény paraméterrel, akkor a paraméterfüggvényeket interpretálja és az adott scopeban levő változók ha megjelennek a függvényben (persze úgy ha ott írod le a függvényt, nem előre definiálod), azokat kicseréli az adott értékekre (konkrét szám, mutató akrámi) és így fut le a függvény. -
v2izzy
tag
Már akartam mutatni, aki most tanul js-t annak kötelező, de aki jobban ismeri a nyelvet az is olvassa át mindenképp ezt: idiomatic.js
Sok hasznos nyelvi sajátosság és kódolási technika található meg! -
v2izzy
tag
Eddig még nem ismerted? Nagyon hasznos. Számomra majdhogynem alapabb mint egy Jquery. Persze részben azért is mert ezt nem csak kliens oldalon lehet használni.
Mindenképp érdemes tudni róla sok időt lehet spórolni vele, főleg ha szereted használni a funkcionális programozás elemeit. -
v2izzy
tag
Kedvet kaptam a problémához és ha jól értelmezem akkor egy ilyen függvényre gondoltál? Ez high-order megoldás szóval majd te írd meg hozzá az összehasonlító függvényt. (a linkelt példában amúgy azt teszteltem, amit te írtál)
Ja és a sorrend az megváltozik, de szerintem az nem nagy gond, de ha mégis meg lehet oldani.
-
v2izzy
tag
válasz
Sk8erPeter #2846 üzenetére
Na akkor, sorra veszem.
1. Csak jQuery:
var foo = $('.foo')
foo.css('color', '#CCC')
foo.css({
'font-size': '14px'
, width: '250px'
})
Ennek a sebessége átl. 160-170ms.2. Styled I. változat:
var foo = $('.foo').styled()
foo.set('color', '#CCC')
foo.set({
'font-size': '14px'
, width: '250px'
})
Ennek a sebessége átl. 5-6ms.3. Styled II. változat:
var foo = $.styled('.foo')
foo.set('color', '#CCC')
foo.set({
'font-size': '14px'
, width: '250px'
})
Ennek a sebessége átl. 0-1ms.A II. azért gyorsabb mint az I., mert az I.-ben van egy függvényhívás először: $('.foo') és ennek a időt vesz a lefutása (a 2 közti különbség). A II.-nál pedig csak egy stringként átadom a selectort.
-
v2izzy
tag
válasz
Sk8erPeter #2841 üzenetére
Ja csak úgy tűnik kicsit összevissza másoltam ki a kódot a hsz-edből. Javítva!
Amit linkeltem példában már azt használtam.
-
v2izzy
tag
válasz
Sk8erPeter #2839 üzenetére
Látod ez túl egyszerű és ésszerű volt, hogy eszembe jusson.
Itt ki lehet próbálni a tesztet, konzolba írja az időt. Nekem jQuery-re átlagba 160-170ms-t adott, styled-ra 0-1ms-t. Bár most annyi változtatás történt, hogy észrevettem például az hogy $('.foo') időt vesz el (átl. 3-5ms) míg megcsinálja az objektumot (de bennmaradt, mivel szerintem ez szebb, meg ha valaki olyat csinál, hogy $('body').find('.foo'), akkor abból ő összerak egy selectort). Ezért hozzáadtam egy ilyen végrehajtási módot is. -
v2izzy
tag
válasz
Sk8erPeter #2829 üzenetére
Igazából nem nagyon ismerek benchmark-os oldalakat/programokat, ha tudsz akkor ajánlhatnál.
A Chrome Inspector-ban a Profile-al próbáltam méregetni. A CSS Selector Profiles-ban mértem le a 2 fajtát, styledal, és csak sima jQuery-vel, előbbi 2 mérésből 0 és 1ms, utóbbi 94 és 107ms lett. A CPU Profiles ezt adta jQuery-vel, styled-al.
Amúgy persze érthető, hogy miért lassabb a .css(), hiszen ennél mindegyik matched elementet sorra veszi, csinál belőle egy jQuery-nek megfelelő osztályú objektumot, metódusokkal stb. és ez mind időt vesz el. A styled meg szintén valamilyen módon sorra veszi az elementeket, de az már csak annyira, mint amikor a .css() megváltoztatja a style attribútumot és azt sajnos nem tudom, forráskód hiányában, hogy talán optimálisabb módon is akár. Memória szempontjából egyik se kérdéses, a styled alapból nem használhat sokat, a jQuery-s objektumokat meg a GC majd összeszedi gondolom. -
v2izzy
tag
válasz
Sk8erPeter #2790 üzenetére
Lehet kicsit értelmetlenül fogalmaztam de arra gondoltam amit Karma írt.
-
v2izzy
tag
válasz
Sk8erPeter #2788 üzenetére
Nem kell hozzáférni a css fájlhoz, én sem abból olvasom ki. A stíluslapok betöltődnek a DOM-ba és innen könnyen lehet kezelni őket, szóval egy értékadás nem a fájlt írja át hanem csak a DOM-ba. A .set()-et azért tartanám jónak, mert pl. olyan előnye (persze ez valahol lehet hátrány is) van a jQuery-s .css()-el szembe, hogy ez azután is igaz az egyező selector-ú elemekre miután miután a művelet végrehajtódott. Sebességbeli különbséget nem tudok, de kíváncsi lennék, meg kellene nézni. Plusz így nem tesz a html kódba egy ronda style attribútumot.
-
v2izzy
tag
válasz
Sk8erPeter #2786 üzenetére
Igen arra való. Kiválaszthatod, hogy melyik fájlban/fájlokban keressen, mert így gyorsabb lehet és csak ami selector-t a jQuery átad ($(selector).styled()), azt megkeresi és visszaadja. Még lehetne akár bővíteni olyannal hogy legyen egy .set() is, tehát lehessen változtatni a CSS-t.
Viszont amiben nem voltam biztos, hogy ha van több fájl és azokban valamelyik selectorhoz tartozó stílus többször is szerepel, akkor melyiket tartsam meg? Most úgy csinálja, hogy mindig ha a következő fájlban lévő felülírja a már szereplő stílusokat. Ez logikus, de nem tudom, hogy ez a legjobb megoldás. -
v2izzy
tag
Hello!
Nemrég felmerült egy olyan gondom, hogy el akartam érni CSS stílus értékeket JS-el de úgy hogy nem egy meglévő elem stílusát vizsgálom. Meg is találtam hogy el lehet érni, de elég hosszadalmas mire hozzá lehet jutni a kívánt értékhez. Keresgettem jQuery-ben valami szép megoldást rá (vagy nem jQuery-ben), de nem nagyon talátam. Úgyhogy csináltam egy kis plugin-t, ami a beadott selector szerint megkeresi az ahhoz tartozó stílusokat. Akinek van kedve nézze meg és lehet közreműködni is akár, mert lehet még javítani/plusz funkciókat bele tenni.+ részben ennek segítségével elkészült egy sportversenyeknél használt csoport és bracket készítő bundle-öm. Akinek netán ilyenre lenne szüksége.
</self-reklám>
-
v2izzy
tag
válasz
papa019 #2714 üzenetére
Így már igen működik, bár az kicsit fura, hogy az obj-nak az area property-je a polygon, majd az egész obj-ot beleteszed a polygonba.
De hát így fog működni ezzel a módszerrel az igaz. Viszont itt egy példa ami szemlélteti, hogy különböző ciklusfajták hogy kezelik a handler függvényt. Ez alapján így is írhatnád:
data = items;
data.forEach(function(x) {
...
var obj = {
'name': x[i-4],
...
'area': polygon
};
google.maps.event.addListener(polygon, 'click', function(event){
showArrays(event, obj, this.getPath());
});
google.maps.event.addListener(polygon, 'rightclick', function(event){
showContextMenu(event.latLng, obj);
});
...
}) -
v2izzy
tag
válasz
papa019 #2712 üzenetére
Például egy új embernek, vagy neked később nehezebb lesz egyből megértened, mi is történik és szerintem egy .forEach() gyorsabb is mint így (bár ez csak nagy adatmennyiségnél lenne feltűnő).
Másrészt nem az volt kezdetben a gondod, hogy csak az utoljára kiszedett tömb elemei kerülnek bele? A pop-os módszerrel ez így is van, de ha forEach-el csinálod, akkor az eventListener-ek handler függvényében, mindig az aktuális elemet tudod felhasználni és akkor így nem szükséges id. Remélem jól értelmeztem a problémát. -
v2izzy
tag
válasz
Sk8erPeter #2581 üzenetére
Ismerem a jQuery-nek ezt a funkcióját természetesen, de pont ez volt a célom vele, hogy egyszerűbben és szebben lehessen leírni a html-t js-be. És persze hogy elmehetnék jq-s irányba és string-ként átadhatnám, de pont nem ez a célom. A jQuery természetesen ezt csinálja, mert nekik nem ez a lényeg, hogy minden tag-hez külön fgv. stb. Pont ezért csinálom így, hogy valami pluszt adjon ez mondjuk a jQuery-shez képest. (Bár azért világmegváltó terveim nincsenek vele, de tanulásnak jó meg azért érdekesnek találom
)
És ha összehasonlítod:
var img = $('<img />').attr({
'id': 'myImage'+img_index,
'src': 'http://doc.jsfiddle.net/_downloads/jsfiddle-logo.png',
'alt': 'JSFiddle logo',
'title': 'JSFiddle logo',
'width': 250
}).appendTo('#container');Ezzel:
huk('#container')
.img({
'id': 'myImage'+img_index,
'src': 'http://doc.jsfiddle.net/_downloads/jsfiddle-logo.png',
'alt': 'JSFiddle logo',
'title': 'JSFiddle logo',
'width': 250
})
.append();Szerintem utóbbi szebb (de lehet mert én írtam
)
Meg azért nagy erőforrást nem emészt fel szerintem, minden tag-hez egy function pointert rendel, tehát nem klónozza a függvényeket a tag-ekhez. És akinek meg a custom tag kell (az esetek nagyon kis százaléka), annak meg arra is van lehetősége. Meg például a .list() fgv-t különösen hasznosnak találtam sokszor.
-
v2izzy
tag
válasz
Sk8erPeter #2579 üzenetére
Itt egy példa. Látod, ha itt nem tudnám előre a neveket, akkor nem lehetne a függvényeket megcsinálni a megfelelő névvel az objektumba.
-
v2izzy
tag
válasz
Sk8erPeter #2574 üzenetére
A komplett lista azért kell mert akkor tudom a prototypejába betenni az alap objektumnak a függvényeket (.div(), .span() stb).
Mikor elkezdtem csinálni, akkor még nem nagyon ismertem a DOM-ot, aztán így maradt eddig.
Nekem nem az a gondom, hogy nem valid tagokat akarnak megadni, azzal semmi gond (most is van benn egy addTag fn. hogyha valakinek van valami mása. Csak azt írtam, hogyha pl. kiiratod, hogy:
console.dir(document.createElement('asd'))
akkor a visszakapott objektum típusa HTMLUnknownElement
console.dir(document.createElement('div'))
akkor HTMLDivElement.
Ezzel csak azt akartam mutatni, hogy a valid tagok külön vannak kezelve, tehát valahol el vannak tárolva, hogy mik validok. De ez nem olyan lényeges, mivel ettől függetlenül is biztos el van tárolva.Lehet kellene csinálni egy jsFiddle-t, majd megnézem holnap, meg a jsLint-et is. Köszi!
-
v2izzy
tag
válasz
Sk8erPeter #2572 üzenetére
Hát már régebben szerintem linkeltem, egy ilyen kis HTML kód generáló modulomhoz. Mert most ugye van egy tömb amibe összegyűjtögettem úgyahogy a tageket, de így azért mégsem az igazi.
Amúgy lehet teljesen, de majd meg látjuk újra írom az egész modult, mert most csináltam egykét tesztet és úgy tűnt ha DOM-os függvényeket (createElement, appendChild stb) használok, akkor gyorsabb (ti is mondhatnátok véleményt ha van tapasztalat (most csak egy objektumból generálok le egy stringet és azt illesztem be)). Szóval ilyen függvényekkel hoznám létre a HTML-t.
Nézegettem, és ugye a a createElement az bármilyen taget legenerál, de ha nem ismert az element akkor a visszaadott objektum HTMLUnknownElement típusú, viszont ha valami ismert, akkor HTML HTMLDivElement például. Tehát ezért is gondolom, hogy valamilyen módon benne vannak a létező tagek (meg hát amúgy is benne kellene lennie azért), de jó lenne valahogy elérni őket.
Speeedfire: ismerem, de mint fent írtam még nincs megoldásom.
-
v2izzy
tag
Szerintetek hozzá lehet jutni valahogy egy böngészőben az általa ismert HTML tagek nevéhez valahogy, például egy tömb formájában?
-
v2izzy
tag
Írtam egy kis modult, amivel lehet egyenlőségeket vizsgálni, és lehet készíteni saját kiértékelést is: [link]
Nem tudom mennyire van értelme, majd meglátom mennyire érzem szükségét további programokban, de akit érdekel megnézheti! -
v2izzy
tag
válasz
Speeedfire #2497 üzenetére
Így gondoltad? Tehát, hogy egy markert leteszel és ha azt mozgatod, akkor változik a pozíció? Vagy több markert letenni (ha így akarod akkor már tömbbel kell)?
-
v2izzy
tag
Hello!
Hát azt nem tudom, hogy lehet-e több value attribútomot vagy hasonlót adni egy elementnek (bár kétlem), de ha jól értelmezem, számomra az lenne a legegyszerűbb, hogy a value-ba egy speciális karakterrel elválasztom a két értéket, és amikor megkapom a value-t js-be akkor szétválasztom.
Pl.: <option value="34_43">Remélem tudtam segíteni.
-
v2izzy
tag
Köszi a segítségeket!
-
v2izzy
tag
válasz
Sk8erPeter #2045 üzenetére
Pl. a konkrét problémám, hogy egy oldalon egy gombnyomásra előjön egy div középre pozicionálva és ha azon kívül kattintanak akkor zárja be, vagy mint pl. a facebook-nál ha az Account-ra kattintasz, akkor ha a megjelenő ul-en kívül kattintasz akkor eltűnik.
Remélem már érthető. -
v2izzy
tag
Hello!
Valaki tudna nekem adni egy olyan kódot/függvényt, ami azt csinálja, hogy ha egy adott elemen kívül kattintok akkor pl. bezárja azt.
A segítséget előre köszönöm!
-
v2izzy
tag
Hello!
Egy olyan kérdésem lenne, hogy hogy kell címszerint átadni egy függvénynek?
A választ előre köszönöm!
Új hozzászólás Aktív témák
Hirdetés
- Yettel topik
- Argos: Szeretem az ecetfát
- Linux kezdőknek
- Könyvajánló
- Bambu Lab 3D nyomtatók
- Apple iPhone 16 Pro - rutinvizsga
- TCL LCD és LED TV-k
- RAM topik
- Intel Core i3 / i5 / i7 / i9 10xxx "Comet Lake" és i3 / i5 / i7 / i9 11xxx "Rocket Lake" (LGA1200)
- sziku69: Fűzzük össze a szavakat :)
- További aktív témák...
- DDR5 GAMER PC: Új RYZEN 7 8700F +RTX 4060/5060/4070/5070 +16-32GB DDR5! GAR/SZÁMLA! 50 FÉLE HÁZ!
- Dell Latitude 7410 Strapabíró Ütésálló Profi Ultrabook 14" -80% i7-10610U 16/512 FHD
- Szép! HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 32/512 Iris Xe FHD Magyar
- HP EliteBook 850 G8 Fémházas Multimédiás Laptop 15,6" -65% i7-1185G7 8/512 Iris Xe FHD Magyar
- 512 Gb-os NVME-k
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Motorola G72 128GB, Kártyafüggetlen, 1 Év Garanciával
- Samsung Galaxy S22 Ultra 128GB, Kártyafüggetlen, 1 Év Garanciával
- LG 65C2 - 65" OLED evo - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox!
- Samsung Galaxy A41 64GB Kártyafüggetlen, 1Év Garanciával
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: Promenade Publishing House Kft.
Város: Budapest