quote:JavaScript Devs: Is It Still Worth Learning jQuery?
If you're learning JavaScript and Web development, you might be wondering whether to learn jQuery. After nearly a decade of existence, jQuery has grown into a fundamental part of JavaScript coding in Web development.
But now we're at a point where many of the missing pieces (and additional features) jQuery filled in are present in browsers. So do you need to learn jQuery anymore? Some developers don't think so. The official jQuery blog, meanwhile, is pushing a separate jQuery version for modern browsers, in an attempt to keep people involved.
And there are still a few key reasons to keep learning jQuery: Legacy code. If you're going to go to work at a company that already has JavaScript browser code, there's a strong possibility it has jQuery throughout its code. There's also a matter of preference: People still like jQuery and its elegance, and they're going to continue using it, even though they might not have to.
Als je hippe "als je IE gebruikt heb ik geen boodschap aan je"-sites bouwt is het misschien niet echt nodig.quote:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | function getData() { source = audioCtx.createBufferSource(); request = new XMLHttpRequest(); request.open('GET', 'viper.ogg', true); request.responseType = 'arraybuffer'; request.onload = function() { var audioData = request.response; audioCtx.decodeAudioData(audioData, function(buffer) { source.buffer = buffer; source.connect(audioCtx.destination); source.loop = true; }, function(e){"Error with decoding audio data" + e.err}); } request.send(); } |
In de praktijk vind ik jQuery veel eenvoudiger en leesbaarder om te gebruiken. Voor mobiel gebruik ik meestal een kleinere variant of ‘pure’ JavaScript voor snelheid.quote:Op dinsdag 28 april 2015 09:40 schreef Catch22- het volgende:
[..]
Als je hippe "als je IE gebruikt heb ik geen boodschap aan je"-sites bouwt is het misschien niet echt nodig.
Maar ik blijf het gebruiken zolang jQuery voor mij de verschillende browserissues opvangt.
Nop, ik heb dat ook alleen in mijn Gulp workflow met Browserify. :-)quote:
nog hendige packages? Gebruik het zelf alleen om te builden met minifiers, concetinaters en autoprefixerquote:
dat gebruik ik ook hoofdzakelijk. En soms Yeomanquote:Op maandag 4 mei 2015 11:54 schreef n8n het volgende:
[..]
nog hendige packages? Gebruik het zelf alleen om te builden met minifiers, concetinaters en autoprefixer
Ik gebruik het om sass te compilen, te livereloaden als ik iets aanpas, om mijn PHP server te runnen zodat ik niet meer allerlei irritante vhost shit hoef aan te passen bij elk project en om al mijn assets te compilen, minifyen etc. naar een compiled-assets folder.quote:Op maandag 4 mei 2015 11:54 schreef n8n het volgende:
[..]
nog hendige packages? Gebruik het zelf alleen om te builden met minifiers, concetinaters en autoprefixer
| 1 2 3 4 5 | // Start the php server gulp.task('server', shell.task([ 'ulimit -S -n 2048', 'php -S ' + '127.0.0.1:8000 router.php' ], {quiet: true})) |
Daar heb ik geen ervaring mee, word een beetje zot van al de duizenden smaken framework tegenwoordigquote:Op maandag 4 mei 2015 21:43 schreef Catch22- het volgende:
[..]
dat gebruik ik ook hoofdzakelijk. En soms Yeoman
Sass compile ik ook al hou ik het enorm simpel met 2 bestandjes constanten, 1 voor afmetingen en 1 voor kleur. Ik werk meestal ook vanaf een localhost pad tot ik het moet aanpassen omdat een relatief pad ergens gaar doetquote:Op maandag 4 mei 2015 22:03 schreef boem-dikkie het volgende:
[..]
Ik gebruik het om sass te compilen, te livereloaden als ik iets aanpas, om mijn PHP server te runnen zodat ik niet meer allerlei irritante vhost shit hoef aan te passen bij elk project en om al mijn assets te compilen, minifyen etc. naar een compiled-assets folder.
En dat start je server? Die van mij staat gewoon altijd aan op poort 80, zo lui ben ikquote:
Yo dawgquote:Op dinsdag 5 mei 2015 09:54 schreef Catch22- het volgende:
Yeoman is een startertool, geen framework. Te cool om niet iig even te bekijken. www.yeoman.io
Yoquote:
Jep default PHP servertje in OSX start je daarmee op.quote:Op dinsdag 5 mei 2015 09:42 schreef n8n het volgende:
[..]
Daar heb ik geen ervaring mee, word een beetje zot van al de duizenden smaken framework tegenwoordig
[..]
Sass compile ik ook al hou ik het enorm simpel met 2 bestandjes constanten, 1 voor afmetingen en 1 voor kleur. Ik werk meestal ook vanaf een localhost pad tot ik het moet aanpassen omdat een relatief pad ergens gaar doet
[..]
En dat start je server? Die van mij staat gewoon altijd aan op poort 80, zo lui ben ikheb in mn sites folder een snelkoppeling naar 'local' met daarin de nginx sites-enabled directory maar die laat ik ook eigenlijk gewoon allemaal altijd aan staan.
Ik had 'm wel in mn achterhoofd, zal er nu zeker een keer naar kijken.quote:Op dinsdag 5 mei 2015 09:54 schreef Catch22- het volgende:
Yeoman is een startertool, geen framework. Te cool om niet iig even te bekijken. www.yeoman.io
Heb Gulp een tijd terug naar gekeken -- maar dat is toch een automatisering van taken?quote:Op maandag 4 mei 2015 10:52 schreef boem-dikkie het volgende:
[..]
Nop, ik heb dat ook alleen in mijn Gulp workflow met Browserify. :-)
Jup, autoprefixer, sass, minificatie, concetinatie, svgo. zorgen allemaal voor optimalisatie en/of gemak.quote:Op dinsdag 5 mei 2015 10:53 schreef Aether het volgende:
[..]
Heb Gulp een tijd terug naar gekeken -- maar dat is toch een automatisering van taken?
kan je daar ook javascript-performance mee testen? Of weet iemand hoe je performance bottlenecks in javascript identificeert?quote:Ghostlab is een systeem om op meerder apparaten te debuggen en de wijzigingen op alle apparaten te zien.
Ja, maar in gulp zit Browserify, waarmee je op alle apparaten naar je IP adres kan gaan en hij alles synced. Dus als je op je PC op dat IP adres je website scrollt, scrollt hij op je iPhone ook. En kun je handig in Chrome expecten wanneer je op je mobiel iets doet.quote:Op dinsdag 5 mei 2015 10:53 schreef Aether het volgende:
[..]
Heb Gulp een tijd terug naar gekeken -- maar dat is toch een automatisering van taken?
Ghostlab is een systeem om op meerder apparaten te debuggen en de wijzigingen op alle apparaten te zien.
Dat doe ik altijd met http://www.browsersync.io/ , maar dat is dus vrijwel hetzelfdequote:Op dinsdag 5 mei 2015 13:10 schreef boem-dikkie het volgende:
[..]
Ja, maar in gulp zit Browserify, waarmee je op alle apparaten naar je IP adres kan gaan en hij alles synced. Dus als je op je PC op dat IP adres je website scrollt, scrollt hij op je iPhone ook. En kun je handig in Chrome expecten wanneer je op je mobiel iets doet.
Oh sorry, ik ben in de war, ik gebruik Browserify en Browsersync. Ik gebruik dat ook inderdaad voor de sync.quote:Op dinsdag 5 mei 2015 13:29 schreef mstx het volgende:
[..]
Dat doe ik altijd met http://www.browsersync.io/ , maar dat is dus vrijwel hetzelfde
Ik heb eronder knoppen, maar sliders zijn toch wel representatief? Maar het kost dus wel performance?quote:Op donderdag 4 juni 2015 16:39 schreef Catch22- het volgende:
geen sliders doen. Kijkt geen hond naar en kost je performance.
nee. Gebruikers zien het nauwelijks meer.quote:Op donderdag 4 juni 2015 16:47 schreef Apekoek het volgende:
[..]
Ik heb eronder knoppen, maar sliders zijn toch wel representatief? Maar het kost dus wel performance?
Allright, dan denk ik dat ik het bij een minimale header, of slider hou met slechts 3 zaken. En dan de rest alleen met knoppen eronder.quote:Op donderdag 4 juni 2015 16:50 schreef Catch22- het volgende:
[..]
nee. Gebruikers zien het nauwelijks meer.
Nu wetende dat die preview Quick Look heet kwam ik uit bij QLStephen. Ben nog veel te blij met Sublime Text om daar vanaf te stappenquote:Op maandag 8 juni 2015 16:05 schreef Tijn het volgende:
Ik gebruik TextMate en die regelt dat Quick Look de inhoud van zulke bestanden weergeeft bij mij.
Het is dan ook puur een versiering, geen nuttige content.quote:Op donderdag 4 juni 2015 17:43 schreef d4v1d het volgende:
Ik vind ze pas irritant als er tekst in staan en ze te snel naar de volgende slide gaan
Foto's kan prima vind ik. edit: nu ik erover denk is het misschien wel dat ik minder aandachtig naar de foto kijk dan
Helemaal gelijk. Weer wat geleerdquote:Op maandag 8 juni 2015 16:43 schreef Tijn het volgende:
Ja, het is een beetje verwarrend als je het Preview noemt, want dat is de naam van de viewer app die bij OS X zit.
Precies. De enige reden is om zoiets op je pagina te zetten is omdat mensen het leuk vinden wanneer er wat beweegt.quote:Op maandag 8 juni 2015 16:56 schreef KomtTijd... het volgende:
[..]
Het is dan ook puur een versiering, geen nuttige content.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 | <script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script> <script> // Sticky Header $(window).scroll(function() { if ($(window).scrollTop() > 100) { $('.main_header').addClass('sticky'); } else { $('.main_header').removeClass('sticky'); } }); // Mobile Navigation $('.mobile-toggle').click(function() { if ($('.main_header').hasClass('open-nav')) { $('.main_header').removeClass('open-nav'); } else { $('.main_header').addClass('open-nav'); } }); $('.main_header li a').click(function() { if ($('.main_header').hasClass('open-nav')) { $('.navigation').removeClass('open-nav'); $('.main_header').removeClass('open-nav'); } }); // navigation scroll $('nav a').click(function(event) { var id = $(this).attr("href"); var offset = 70; var target = $(id).offset().top - offset; $('html, body').animate({ scrollTop: target }, 500); event.preventDefault(); }); </script> |
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 | .mobile-toggle { display: none; cursor:pointer; font-size: 20px; position: absolute; right: 22px; top: 0; width: 30px; -webkit-transition: all 200ms ease-in; -moz-transition: all 200ms ease-in; transition: all 200ms ease-in; } .mobile-toggle span { width: 30px; height: 4px; margin-bottom: 6px; border-radius: 1000px; background: #8f8f8f; display: block; } .mouse { display: block; margin: 0 auto; width: 26px; height: 46px; border-radius: 13px; border: 2px solid #ffffff; position: absolute; bottom: 40px; position: absolute; left: 51%; margin-left: -26px; } .mouse span { display: block; margin: 6px auto; width: 2px; height: 2px; border-radius: 4px; background: #ffffff; border: 1px solid transparent; -webkit-animation-duration: 1s; animation-duration: 1s; -webkit-animation-fill-mode: both; animation-fill-mode: both; -webkit-animation-iteration-count: infinite; animation-iteration-count: infinite; -webkit-animation-name: scroll; animation-name: scroll; } |
Wat is dan nog de nut van het scrollen? Kun je de navbar dan niet standaard boven aan de pagina plakken en de site er onder door laten scrollen?quote:Op dinsdag 9 juni 2015 21:42 schreef richolio het volgende:
Hallo, ik heb een navbar die toggled op het scrollen. Echter zie je deze navbar niet bij het openen van de pagina, hij verschijnt pas als je iets naar beneden scrollt. Niet zo handig dus, ik zou 'm meteen al willen zien.
[ code verwijderd ]
Dit is de code, die ook gekoppeld is aan een (extern) js bestand.
De css:
[ code verwijderd ]
Mijn vraag is dus hoe kan ik de navbar al meteen laten verschijnen? Ik wil wel dat hij nog verandert met de scroll, maar het lijkt me alleen niet zo handig dat je 'm in het begin nog niet ziet. Als dit al kan dan, gezien het externe js bestandje..Dank
Kun je main_header ook niet de class sticky geven in de HTML?quote:Op dinsdag 9 juni 2015 21:42 schreef richolio het volgende:
Hallo, ik heb een navbar die toggled op het scrollen. Echter zie je deze navbar niet bij het openen van de pagina, hij verschijnt pas als je iets naar beneden scrollt. Niet zo handig dus, ik zou 'm meteen al willen zien.
[ code verwijderd ]
Dit is de code, die ook gekoppeld is aan een (extern) js bestand.
De css:
[ code verwijderd ]
Mijn vraag is dus hoe kan ik de navbar al meteen laten verschijnen? Ik wil wel dat hij nog verandert met de scroll, maar het lijkt me alleen niet zo handig dat je 'm in het begin nog niet ziet. Als dit al kan dan, gezien het externe js bestandje..Dank
Een navbar zonder achtergrond, dus alleen tekst, vind ik er altijd wel netjes uitzien. Tot die witte lettertjes natuurlijk op een witte background komen ergens op de pagina.quote:Op dinsdag 9 juni 2015 22:06 schreef BrainOverfloW het volgende:
[..]
Wat is dan nog de nut van het scrollen? Kun je de navbar dan niet standaard boven aan de pagina plakken en de site er onder door laten scrollen?
Hoe doe ik dat?quote:Op dinsdag 9 juni 2015 22:06 schreef Aether het volgende:
[..]
Kun je main_header ook niet de class sticky geven in de HTML?
Fixed voor dat soort oplossingen geeft geen problemen op responsive. Gewoon sticky op je navbar zetten en die hele JS weghalen.quote:Op dinsdag 9 juni 2015 22:16 schreef richolio het volgende:
[..]
Een navbar zonder achtergrond, dus alleen tekst, vind ik er altijd wel netjes uitzien. Tot die witte lettertjes natuurlijk op een witte background komen ergens op de pagina.
[..]
Hoe doe ik dat?Bedoel je dat ik die class dan fixed maak? Ik had wel ergens gelezen dat dat uiteindelijk problemen vormt, gezien de site responsive is.
Deze? http://codepen.io/skeurentjes/pen/wvpusquote:Op woensdag 10 juni 2015 08:14 schreef boem-dikkie het volgende:
Weten jullie nog een fatsoenlijke manier om een achtergrondje een klein beetje te laten scrollen a la parallax effect? Ik had zelf een klein JS'je geschreven die een aantal pixels top doet wanneer de user scrollt maar sinds twee versies van Chrome stottert die opeens gigantisch. Oplossingen met dikke libs werken niet echt lekker gezien je dan echt ziet dat de achtergrond dynamisch wordt ingeladen.
| 1 2 3 4 | .sticky{ border-top: 35px solid transparent; border-image: url('border.png') 100% repeat; } |
JS moet je sowieso zo veel mogelijk vermijden voor animaties e.d. gezien de onmogelijkheid om daar hardware accelleration op toe te passen.quote:Op woensdag 10 juni 2015 10:01 schreef n8n het volgende:
Jquery voor parallax slaat, tenzij je het al gebruikt, natuurlijk helemaal negens op. Ik kan me ook geen 60fps jquery herinneren. Als je het in IE kan missen is er tegenwoordig een css-only manier. Dit scheelt enorm in de performance omdat je de vieze scroll-js niet meer nodig hebt.
http://keithclark.co.uk/articles/pure-css-parallax-websites/
zet hem als background op de wrapper met een padding-top ofzo? Of in een pseudo-element.quote:Op woensdag 10 juni 2015 13:12 schreef dimmak het volgende:
Ik zit al even te kloten met een border, maar krijg het niet voor elkaar.
[ code verwijderd ]
Mijn plaatje is 740*35px en wil hem boven een bepaalde blogpost hebben. De enige manier hoe ik het enigzins werkend krijg is om er een border-image van te maken. Maar wat is dat een raar iets zeg.Kan iemand me uit de brand helpen?
Ja.quote:Op woensdag 10 juni 2015 13:23 schreef KomtTijd... het volgende:
is "transparent" uberhaupt een geldige color?
Juist door het switchen naar de GPU ontstaan er haperingen. Hier staat meer over Javascript vs CSS animatie performance: http://davidwalsh.name/css-js-animationquote:Op woensdag 10 juni 2015 13:25 schreef KomtTijd... het volgende:
[..]
JS moet je sowieso zo veel mogelijk vermijden voor animaties e.d. gezien de onmogelijkheid om daar hardware accelleration op toe te passen.
dat geldt niet voor transform of opacity, welke in de praktijk het meest relevant zijn in UI's. Velocity/gsap zijn nodig bij interactieve animaties met keyframes, timed events etc, dingen waar je voorheen flash voor zou (moeten) pakken. Voor een simpele ui is dst echt overkill. Met RAF en wat research kom je een heel eind, uiteindelijk zullen die libs ook de styles beïnvloeden dus dat kan je ook zelf, wel zonder jquery, dat is een sloom stuk vreten. Met animatie heb je 16,67 ms om alles te doen, scripts, berekenen, tekenen etc., de 16ms is je budget en er overheen gaan resulteert in gestotter.quote:Op woensdag 10 juni 2015 15:27 schreef Tijn het volgende:
[..]
Juist door het switchen naar de GPU ontstaan er haperingen. Hier staat meer over Javascript vs CSS animatie performance: http://davidwalsh.name/css-js-animation
kan ook zonder extra element. Center top no-repeatquote:Op woensdag 10 juni 2015 13:34 schreef Catch22- het volgende:
[..]
zet hem als background op de wrapper met een padding-top ofzo? Of in een pseudo-element.
border-image-width is er ook, maar met matige support
dat bedoelde ik met de eerste optie.quote:Op donderdag 11 juni 2015 00:50 schreef n8n het volgende:
[..]
kan ook zonder extra element. Center top no-repeat
Wel overwogen, maar uiteindelijk niet.quote:
ach zo, ik dacht: voeg een wrapper toe. My bad. De div.container is niet aan mij besteed dus dan spreek ik over de parent. Het kan ook in het element zelf met een padding-top, dat bedoelde ik als aanvulling.quote:Op donderdag 11 juni 2015 09:00 schreef Catch22- het volgende:
[..]
dat bedoelde ik met de eerste optie.
Als ik het zelf zou moeten betalen zou ik ook niet gaan hoorquote:Op donderdag 11 juni 2015 09:06 schreef donroyco het volgende:
[..]
Wel overwogen, maar uiteindelijk niet.
quote:Op donderdag 11 juni 2015 11:31 schreef PimD het volgende:
[..]
Als ik het zelf zou moeten betalen zou ik ook niet gaan hoor
quote:
En waarom zou je dat willen? Heb je geen version control?quote:Op donderdag 11 juni 2015 20:44 schreef TwenteFC het volgende:
[..]Heb hier elke keer weer gezeik mee als ik het opnieuw moet laten werken op een Windows machine, waarbij de bestanden in een map staan welke worden gedeeld met een virtuele machine.
Gebruik er altijd maar dit tooltje voor als het even snel moet;
http://koala-app.com/
Tuurlijk heb ik wel version control. Ik zie niet in wat dat er mee te maken heeft.quote:Op donderdag 11 juni 2015 22:31 schreef Catch22- het volgende:
[..]
En waarom zou je dat willen? Heb je geen version control?
nou er zullen vast mensen zijn die een project op een netwerkschijf draaien zonder VCquote:Op donderdag 11 juni 2015 22:40 schreef TwenteFC het volgende:
[..]
Tuurlijk heb ik wel version control. Ik zie niet in wat dat er mee te maken heeft.
Een ubuntu server, en de code folder wordt geshared met Windows. Anders moet in die virtuele machine gaan werken.quote:Op donderdag 11 juni 2015 22:47 schreef Catch22- het volgende:
[..]
nou er zullen vast mensen zijn die een project op een netwerkschijf draaien zonder VC
Maar wat heb je dan op een netwerkschijf staan?
Wat veel mensen doen is lokaal ontwikkelen, dan pushen naar de repository en op de server de boel bijwerken door een pull te doen.quote:Op donderdag 11 juni 2015 22:40 schreef TwenteFC het volgende:
[..]
Tuurlijk heb ik wel version control. Ik zie niet in wat dat er mee te maken heeft.
quote:Op donderdag 11 juni 2015 23:00 schreef Tijn het volgende:
[..]
Wat veel mensen doen is lokaal ontwikkelen, dan pushen naar de repository en op de server de boel bijwerken door een pull te doen.
| 1 2 3 4 | function klok_aan_uit(){ document.getElementById("clock").style.display = "none"; } |
http://www.dustindiaz.com/seven-togglers/quote:Op vrijdag 12 juni 2015 14:13 schreef ikbenrond het volgende:
Ik heb een JS vraagje;
Er is een klokje die je dmv een knopje uit kan zetten (laten verdwijnen in dit geval)
Hiervoor heb ik
[ code verwijderd ]
Gebruikt. Ik weet niet of men iets kan met dit stukje code..In ieder geval; hij verdwijnt wel als ik op uit druk, maar hij komt niet meer terug.
quote:Op vrijdag 12 juni 2015 14:13 schreef ikbenrond het volgende:
Ik heb een JS vraagje;
Er is een klokje die je dmv een knopje uit kan zetten (laten verdwijnen in dit geval)
Hiervoor heb ik
[ code verwijderd ]
Gebruikt. Ik weet niet of men iets kan met dit stukje code..In ieder geval; hij verdwijnt wel als ik op uit druk, maar hij komt niet meer terug.
| 1 2 3 4 | function klok_aan_uit(){ document.getElementById("clock").style.display = ( document.getElementById("clock").style.display == "none") ? "" : "none"; } |
Handige pagina, dit onthoud ik.quote:Op vrijdag 12 juni 2015 14:18 schreef donroyco het volgende:
[..]
http://www.dustindiaz.com/seven-togglers/
quote:
ik zou alleen nog het element in de cache gooien: var clock = document.getElementById('clock');quote:
| 1 2 3 4 5 | function toggleDisplay( el ){ el = document.getElementById( el ); el.style.display = ( el.style.display == "none" ) ? "" : "none"; return false; } |
Dit vind ik dan een beetje tegenstrijdig.quote:Op vrijdag 12 juni 2015 16:59 schreef n8n het volgende:
[..]
ik zou alleen nog het element in de cache gooien: var clock = document.getElementById('clock');
Je zoekt nu hetzelfde element meerdere keren op in de dom, beter nog:
[ code verwijderd ]
Hmm ja dat is waar, al is het dan gelimiteerd tot de toggle actie. Beter is dan inderdaad om de functie een element mee te geven, dat kan dan een variable zijn of een inline aangeroepen element.quote:Op zaterdag 13 juni 2015 11:56 schreef Crutch het volgende:
[..]
Dit vind ik dan een beetje tegenstrijdig.
Als je eerst het element aan een variable assigned (wat je misschien ook met andere elementen wil doen) dan zou ik niet een toggleDisplay functie maken die een ID verwacht, maar daadwerkelijk een element zoals het functieargument ook doet vermoeden.
Dus dat getElementById kan je gewoon helemaal weglaten, want daarmee zoek je alsnog het element op in de dom; iedere keer je wanneer je de functie aanroept.
| 1 2 3 4 5 6 7 8 9 10 | function toggleDisplay( el ){ el.style.display = ( el.style.display == "none" ) ? "" : "none"; return false; } // eenmalig gebruik toggleDisplay( document.getElementById('clock') ); // ...of gecached var clock = document.getElementById('clock'); toggleDisplay( clock ); |
| Forum Opties | |
|---|---|
| Forumhop: | |
| Hop naar: | |