jQuery -> JavaScript
Sziasztok!
Segítségeteket szeretném kérni, egy olyan programozó megtalálásában, aki a fenti témában tud nekem segíteni.
Jelenleg szinte az összes js kód az oldalamon jQueryvel működik, amit nélküle szeretnék megoldani. Vagyis a jQuerys kódokat sima js-re szeretném fordíttatni...
Egy példa, ami mutatja a scriptek "komolyságát":Köszi szépen!
■ Segítségeteket szeretném kérni, egy olyan programozó megtalálásában, aki a fenti témában tud nekem segíteni.
Jelenleg szinte az összes js kód az oldalamon jQueryvel működik, amit nélküle szeretnék megoldani. Vagyis a jQuerys kódokat sima js-re szeretném fordíttatni...
Egy példa, ami mutatja a scriptek "komolyságát":
function ScrollTopClass(){
this.init = function(){
var offset = 120,
duration = 500,
$el = $(".scrollTop");
$(window).scroll(function() {
$el.toggleClass("show", $(this).scrollTop() > offset);
});
$el.click(function(e) {
e.preventDefault();
$("html, body").animate({scrollTop: 0}, duration);
return false;
});
};
}
Mennyit fizetsz?
Privátban a részletek
Munka
Kiegészítés
Kérek mindenkit, hogy csak olyan keressen aki komolyan gondolja a dolgot, meg tudja csinálni és el is tudja vállalni a feladatot.
Belefutottam 3 alkalommal is rövid időn belül olyan levélváltásokba, amiknek a végén kiderült, hogy mégsem csinálja meg...
Légyszi, ne húzzuk egymás idejét.
Köszönöm!
Kíváncsi vagyok,
Ebben a sorrendben, ahogy
Lassú, nagy, mert kb. 94k amit pluszban letölt a felhasználó. Kényelmetlen, mert míg nem töltődik be és amihez kellene az oldal tetején van, akkor akadályozza a böngésző renderelését.
És tudom, van cache, stb, de nem érdekel. Az első látogatóról van szó. Neki (is) villámgyors DOM betöltés, renderelés kell.
Gzippelve 40k, csak ennyit
Ennek ellenére engedtessék meg a gyanú, hogy nem a jQuery lesz a fő problémátok, még akkor se, ha tegyük fel, 94k lenne. Persze ezt csak így látatlanban, vállalva a megkövezés esélyét, ha mégse lenne igazam.
Esetleg
Ha ennyire szkript-függő az
Sok lassú oldalt láttam, és azt kell mondjam, legtöbbször nem a jQuery maga volt a baj, hanem ahogy használták. Mágikus függvényei a DOM és a Javascript világában kevésbé edzett kezekben váratlan eredményeket produkálhatnak.
Még annyit: természetesen ha kimértetek mindent pontosan, és az jött ki, hogy tényleg az a szűk keresztmetszet, hogy lassan jön le a jQuery, akkor bocsánatot kérek. Ez esetben talán egy később jövőnek még hasznosak lehetnek az írásaim.
(igazából nem erre válasz, de most már mindegy)
Látom nem értitek. :) Kicsit
Kicsit bővebben: valóban, "csak" 40k vagy még kevesebb, DE 1 szál a böngészőnek tuti, ez tény. A lényeg, ha az oldal legtetején van egy script, addig a böngésző nem tud semmit csinálni, ja deee, váár, míg nem töltődik be a jquery és értelmezni tudja. Addig a felhasználó sajnos a nagy semmit nézi.
És igazad van, már nem a jquery a szűk keresztmetszet, mert már nincs. :))
Tisztázzuk a sebesség kérdést. Chrome-al tesztelve network 2G(250Kbps) sebességre állítva nekem az az oldal lassú, melynek a DOMContentLoaded 15s felett van. Csak úgy mellékesen a 301-es átirányítások is felzabálnak 0,3s-ot.
Én nem vitatom, hogy a jquery rossz dolog, nagyon sok esetben valóban jó, de itt nekem nem kellett és erre kerestem megoldást. Minden esetben mérlegelni kell...
Jó tesztelést!
Ezek szerint a head-ben
A jQuery lehet jó, lehet rossz, mérlegelni kell, itt csak általánosságokat írtunk, mivel nem ismerjük a részleteket.
Async
async
attribútummal. Ekkor a böngésző nem fog várni a kód megérkezésére, azaz a DOMContentLoaded hamarabb bekövetkezik, és a felhasználó sem a jQuery miatt fog üres oldalt bámulni.Csere
Az egy dolog, hogy a jQuery tömörítve 40k-ba bepaszírozható, de ígyis-úgyis majdnem 100k-nyi kódot kell értelmezni (1.11-es verzió), valamint az objektumai és függvényei elfoglalnak nagyjából négy megabájt memóriát úgy, hogy még nem is csináltunk semmit. Ez addig nem hangzik túl soknak, amíg meg nem nézzük egy átlag telefon vagy akár egy iPhone erőforrásait, az utóbbiban van egy gigabájt memória, amiből az operációs rendszer 2-300, egy pedig böngésző 50-100-at megeszik, ha mellette futtatunk pár alkalmazást, pár megabájt is számít.
A jQuery erőssége az elemválasztó, de kis gondolkodással nélkülözhető, az animációkat manapság már könnyebb CSS-ből megoldani. Így egy egyszerűbb oldal scriptjei egy saját AJAX megoldással, saját eseménykezelővel 10-15k-ból (tömörítve 3k) kijönnek.
Zepto?
Kedvelem a Zeptot, de eddig