ID.nl logo
Huis

Starten met jQuery

Eind jaren negentig kon je nog wegkomen met een lange lijst foto’s bij wijze van online fotoalbum, maar anno 2012 moet dat toch minstens een diashow met animaties zijn. Met een beetje html- en javascriptkennis kun je snel met jQuery aan de slag.

jQuery is een javascript-framework. Dat houdt in dat je in javascript programmeert en gebruikmaakt van javascript-notatie voor jQuery-functies. Het voordeel is onder meer dat je sitebezoekers geen plugins nodig hebben: jQuery werkt in alle bekende browsers. Als webontwikkelaar kun je bovendien je favoriete ontwikkelomgeving gebruiken, of dat nu Adobe Dreamweaver is of Kladblok. Het enige voorwerk is het toevoegen van de javascript-library van jQuery aan je html-bestand. Download daarvoor de jQuery-bibliotheek van www.jquery.com. Je kunt kiezen uit twee versies: voor testen is de iets grotere Development-versie goed genoeg. Plaats het bestand in dezelfde map als je html-pagina en hernoem het naar jquery.js. In de header van je html-pagina laad je de bibliotheek in. Voor deze workshop maken we gebruik van de volgende lege pagina, waaraan we later code gaan toevoegen:

<html><head>

<script type="text/javascript" src="jquery.js"></script>

<script type="text/javascript">Hier komen de javascript- en jQuery-scriptregels.</script>

</head><body>Hier komen de opmaakelementen.</body></html>

Sla deze pagina op (bijvoorbeeld als index.html) en open hem in je browser. Omdat javascript en dus ook jQuery lokaal door je browser gerenderd worden, kun je alle hier besproken voorbeelden zelf uitproberen in je browser door eenvoudigweg de html-pagina te openen. Enige basiskennis van html is benodigd: zorg dat je de structuren van de genoemde codefragmenten doorgrondt, indien nodig door ze zelf in Kladblok te voorzien van de juiste tabafstanden.

Slideshow

Zelf een slideshow maken, is met jQuery een fluitje van een cent. Er zijn verschillende plugins beschikbaar. Slides is daarvan een van de makkelijkere. Je kunt Slides downloaden als zip-bestand op www.slidesjs.com. Pak alleen het bestand slides.jquery.js uit en plaats het in dezelfde map als je html- en jQuery-bestand. Onder de regel waarin jquery.js wordt aangeroepen, voeg je de aanroep voor Slides toe:

<script type=”text/javascript” src=”slides.jquery.js”></script>

In de header voeg je de volgende regels toe tussen de tweede set <script>-tags:

$(function(){

$("#slides").slides();

});

Deze code zorgt voor het starten van de Slides-plugin. In het body-deel van je html-pagina plaats je vervolgens de slideshow op het gewenste punt. Daarvoor voeg je de volgende code toe:

<div id="slides"><div class="slides_container">

<div><h1>Slide 1</h1><p><img src=”foto1.jpg”></p></div>

</div></div>

Per foto voeg je een ‘slide’ toe. In de voorbeeldcode staat er één, maar door eenvoudigweg een nieuw <div>-blokje toe te voegen, kun je zo veel foto’s toevoegen als je wilt. Plaats de code direct onder elkaar, binnen de eerste <div>-tagsets:

<div><h1>Slide 1</h1><p><img src=”foto1.jpg”></p></div>

<div><h1>Slide 2</h1><p><img src=”foto2.jpg”></p></div>

<div><h1>Slide 3</h1><p><img src=”foto3.jpg”></p></div>

Met deze code heb je de basale versie van de slideshow al staan. Open de pagina in je browser om het resultaat te bewonderen. Het bekende slide-effect is te bekijken door op de link voor slide 1, 2 of 3 te klikken. De mooie effecten krijg je echter pas na enkele css-tweaks en het toevoegen van navigatie-elementen. Gelukkig is het zip-bestand van Slides voorzien van diverse voorbeelden. Als je alle bestanden uitpakt, vind je in de map Examples enkele goede voorbeeldscripts. De submap Images-with-captions bevat afbeeldingen en css-stijlen om een grafisch indrukwekkende show op te zetten.

We gaan niet in op alle code uit dat voorbeeld, maar als je de bestanden hebt uitgepakt, kun je de structuur snel doorgronden. Open als eerste index.html in Kladblok. Dit bestand is hetzelfde opgebouwd als ons testbestand. Zo zien we de aanroepen voor jQuery en Slides en daarnaast een verwijzing naar het stylesheet-bestand global.css in de submap css. De eenvoudige aanroep die we zelf schreven voor de Slides-functie (de eerder genoemde $(function(){ ...) is hier aanzienlijk uitgebreid met diverse opties, zoals preload, preloadImage, play en pause. Deze zorgen ervoor dat de afbeeldingen al van tevoren worden ingeladen, zodat de slideshow vloeiend af kan spelen. Play en pause geven waardes aan (in milliseconden) die bepalen hoe lang de foto’s in beeld blijven. Op www.slidesjs.com vind je onderaan de pagina een compleet overzicht van opties.

Het css-bestand global.css is ook erg uitgebreid. De belangrijkste instellingen vind je onder .slides_container (de hoogte en breedte van je slides) en .body (onder andere lettertype). Zeker wat betreft de css-opmaakinstellingen is het een kwestie van proberen tot je een instelling hebt die je bevalt. De standaardinstelling van Slides zorgt al voor een nette slideshow, maar om deze in je site te integreren, zul je naar alle waarschijnlijkheid afmetingen en kleuren moeten aanpassen. Sowieso moet je ervoor zorgen dat de foto’s voor in de slideshow enigszins op elkaar afgestemd zijn qua formaat: ze moeten wel binnen het kader van de slideshow passen.

De voorbeeldcode van Images-with-captions is zeer eenvoudig te hergebruiken voor je eigen slideshow. Zorg voor evenveel <div>-blokken als foto’s en vervang de afbeeldingen, bijschriften en alt-tags door je eigen materiaal.

Menu’s

Het vervangen van een statisch lijstje links door een gelikt menu zorgt ook voor een aantrekkelijke site. Met jQuery kun je tevens snel uitklapmenu’s bouwen, in alle soorten en maten. Een zeer eenvoudige plugin is die van Apycom (www.apycom.com). Je kunt kiezen uit verschillende menustijlen en -kleuren. Voor thuisgebruik zijn de menu’s gratis, maar als je uit alle kleuren wilt kiezen of een commerciële site hebt, zul je moeten betalen. Klik op het menu naar keuze om de gratis versie te downloaden en pak het bestand uit. Wij gaan aan de slag met stijl 16 (www.apycom.com/menus/16-yellow-green.html).

Het zip-bestand bevat ook het jQuery-framework (jquery.js), maar om zeker te weten dat je daarvan de laatste versie hebt, kun je die beter vervangen door de officiële download van www.jquery.com. Net als Images-with-captions werkt ook deze plugin met een css-bestand waarin de opmaak is opgenomen. Open menu.css in Kladblok en kijk bijvoorbeeld onder #menu a en #menu div a span om de kleuren aan te passen door middel van rgb-waarden. Verder is er de map images, met enkele kleine afbeeldingen die in de menu’s worden gebruikt. Tot slot worden in het zip-bestand ook een voorbeeld-index.html en een helpbestand meegeleverd. De opbouw is echter zeer eenvoudig, dus gaan we aan de slag met ons eigen, lege html-bestand.

Gebruik de lege pagina die we aan het begin van het artikel hebben opgezet. Boven de jQuery-aanroepregel moet je voor de opmaak een verwijzing opnemen naar het css-bestand. Voeg onder de aanroepcode voor jQuery de regel voor het menuscript toe. Het geheel ziet er dan als volgt uit:

<link type=”text/css” src=”menu.css” rel=”stylesheet” />

<script type=”text/javascript” src=”jquery.js”></script>

<script type=”text/javascript” src=”menu.js”></script>

Verder hoef je alleen nog maar het menu op te bouwen. Dit doe je tussen de <body>-tags van de pagina en heeft de vorm van een traditionele lijst. Voeg aan de lijstitems de juiste stijltags toe (zoals class=“menu”) en je bent klaar. Een eenvoudig menu met submenu’s ziet er bijvoorbeeld zo uit:

<div id="menu"><ul class="menu">

<li><a href="#" class="parent"><span>Foto's</span></a>

<div><ul>

<li><a href="#"><span>Pasfoto's</span></a></li>

<li><a href="#" class="parent"><span>Vakantiefoto's</span></a>

<div><ul>

<li><a href="bratislava.html"><span>Bratislava</span></a></li>

<li><a href="rome.html"><span>Rome</span></a></li>

</ul></div></li></ul></div></li>

<li class="last"><a href="#"><span>Over ons</span></a>

<div><ul>

<li><a href="mailto:lezers@pcmweb.nl"><span>Contact</span></a></li>

<li><a href="http://www.pcmweb.nl"><span>Homepage</span></a></li>

</ul></div></li></ul></div>

Het helpbestand dat bij de plugin wordt geleverd, heeft een duidelijk overzicht van de mogelijkheden. Let bij het invoeren van de menustructuur op de onderverdeling in menu’s en submenu’s. Door een nieuwe lijst (met de tags <div><ul>) te beginnen binnen een bestaande lijst, maak je een submenu.

De javascriptcode van Apycom is beveiligd: als je op je menupagina niet ergens een verwijzing naar hun homepage opneemt (dat mag onderaan de pagina, of waar je maar wilt), dan wordt linksboven het menu een verwijzing ingevoegd; een kleine prijs om te betalen voor het gratis gebruik van deze plugin. Wil je hierom een andere plugin gebruiken, voer dan een Google-zoekopdracht uit op ‘jquery menu’: een enorme hoeveelheid plugins staat tot je beschikking.

▼ Volgende artikel
Wat is local dimming en waarom is het belangrijk?
© ER | ID.nl
Huis

Wat is local dimming en waarom is het belangrijk?

Het gebrek aan een rijk contrast is een van de grootste ergernissen bij lcd- en ledtelevisies. Fabrikanten hebben daarom een slimme techniek bedacht die het contrast aanzienlijk verbetert: local dimming. In dit artikel leggen we uit hoe deze techniek van jouw grijze nachtlucht weer een inktzwarte sterrenhemel maakt.

Het contrast van je televisie is misschien wel de belangrijkste eigenschap voor mooi beeld. We willen dat wit verblindend wit is en zwart echt inktzwart. Bij oledtelevisies is dat makkelijk, want daar geeft elke pixel zelf licht. Maar de meeste televisies in de Nederlandse huiskamers zijn nog steeds lcd- of ledschermen (inclusief QLED). Die werken met een lamp achter het scherm, de zogeheten backlight. Local dimming is de techniek die probeert de nadelen van die achtergrondverlichting op te lossen.

Om te begrijpen waarom local dimming nodig is, moet je eerst weten hoe een standaard led-tv werkt. Simpel gezegd is het een groot paneel met pixels die zelf geen licht geven, maar alleen van kleur veranderen. Achter die pixels brandt een grote lichtbak. Als het beeld zwart moet zijn, sluiten de pixels zich om het licht tegen te houden. Helaas lukt dat nooit voor de volle honderd procent; er lekt altijd wat licht langs de randjes. Hierdoor zien donkere scènes er vaak wat flets en grijzig uit. De achtergrondverlichting staat immers vol aan, ook als het beeld donker moet zijn.

Nooit meer te veel betalen? Check Kieskeurig.nl/prijsdalers!

De lampen dimmen waar het donker is

Local dimming pakt dit probleem bij de bron aan. In plaats van één grote lichtbak die altijd aan staat, verdeelt deze techniek de achtergrondverlichting in honderden (en bij duurdere tv's soms duizenden) kleine zones. De televisie analyseert de beelden die je kijkt continu. Ziet de processor dat er linksboven in beeld een donkere schaduw is, terwijl rechtsonder een felle explosie te zien is? Dan worden de lampjes in de zone linksboven gedimd of zelfs helemaal uitgeschakeld, terwijl de lampjes rechtsonder juist fel gaan branden.

Het resultaat is direct zichtbaar. Zwart wordt weer echt zwart, simpelweg omdat er geen licht meer achter dat deel van het scherm brandt. Tegelijkertijd blijven de lichte delen van het scherm helder. Dat zorgt voor een veel groter contrast en geeft het beeld meer diepte. Vooral bij het kijken van HDR-films en -series is dat van belang. Zonder local dimming kan een led-tv eigenlijk geen goed HDR-beeld weergeven, omdat het verschil tussen licht en donker dan te klein blijft.

©ER | ID.nl

Niet alle local dimming is hetzelfde

Het klinkt als een wonderoplossing, maar de uitvoering verschilt enorm per televisie. Het grote toverwoord hierbij is het aantal zones. Hoe meer zones de tv onafhankelijk van elkaar kan aansturen, hoe preciezer het licht kan worden geregeld. Goedkopere televisies gebruiken vaak edge lit local dimming. Hierbij zitten de lampjes alleen in de rand van de tv. Dat werkt redelijk, maar is niet heel nauwkeurig. Je ziet dan soms dat een hele verticale strook van het beeld lichter wordt, terwijl er eigenlijk maar één klein object moest worden verlicht.

De betere variant heet full array local dimming. Hierbij zitten de lampjes over de hele achterkant van het scherm verspreid. De allernieuwste en beste vorm hiervan is miniLED. Daarbij zijn de lampjes zo klein geworden dat er duizenden in een scherm passen, wat de precisie van oled begint te benaderen. Als er te weinig zones zijn, kun je last krijgen van zogenaamde 'blooming'. Dat zie je bijvoorbeeld bij witte ondertiteling op een zwarte achtergrond: er ontstaat dan een soort wazige lichtwolk rondom de letters, omdat de zone groter is dan de tekst zelf.

Welke merken gebruiken local dimming?

Bijna elke grote televisiefabrikant past deze techniek inmiddels toe, maar ze doen dat voornamelijk in hun middenklasse en topmodellen. Samsung is een van de voorlopers, zeker met hun QLED- en Neo QLED-televisies, waarbij ze in de duurdere series gebruikmaken van geavanceerde miniLED-techniek voor zeer precieze dimming. Ook Sony staat bekend om een uitstekende implementatie van full array local dimming, die vaak geprezen wordt om de natuurlijke weergave zonder overdreven effecten. Philips past het eveneens toe in hun (mini)ledmodellen, vaak in combinatie met hun bekende Ambilight-systeem voor een extra contrastrijk effect.

Ga voor de full monty!

Local dimming is dus geen loze marketingkreet, maar een dankbare techniek voor iedereen die graag films of series kijkt op een led- of QLED-televisie. Het maakt het verschil tussen een flets, grijs plaatje en een beeld dat van het scherm spat met diepe zwartwaarden. Ben je in de markt voor een nieuwe tv? Vraag dan niet alleen óf er local dimming op zit, maar vooral of het gaat om full array dimming. Je ogen zullen je dankbaar zijn tijdens de volgende filmavond!

Vijf fijne televisies die full array local dimming ondersteunen

▼ Volgende artikel
Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer
© ID.nl
Huis

Waar voor je geld: 5 robotstofzuigers voor een extra schone vloer

Bij ID.nl zijn we gek op producten waar je niet de hoofdprijs voor betaalt of die zijn voorzien van bijzondere eigenschappen. Met een robotstofzuiger wordt de vloer schoongehouden, terwijl je er niet bij hoeft te zijn. En stofzuigen is dan wel het minste dat ze kunnen, want ook dweilen is voor veel modellen geen proleem. We vonden vijf geavanceerde exemplaren.

Philips HomeRun 7000 Series XU7100/01

De Philips HomeRun 7000 Series XU7100/01 is ontworpen om grote ruimtes aan te kunnen. Het apparaat heeft een stofzak van 3 liter en een werktijd tot 180 minuten in de laagste stand. In tegenstelling tot veel kleinere robots is deze HomeRun uitgerust met een stille motor; de opgave van 66 dB maakt hem relatief stil.

Er zit een dweilfunctie in zodat je de robot na het stofzuigen ook direct kunt laten dweilen. Via de app kies je voor een van de modi of plan je een schoonmaakprogramma in. De robot kan zichzelf navigeren, obstakels omzeilen en keert na gebruik terug naar het laadstation. Omdat de opvangbak groot is hoef je niet vaak te legen en dankzij de Li‑ion‑accu is hij geschikt voor grotere woningen. Het apparaat is van recente datum en daarom nog volop verkrijgbaar.

Dreame L10s Pro Ultra Heat

Deze robot combineert een groot stofreservoir van 3,2 liter met een lange werktijd van ongeveer 220 minuten. Dankzij de geïntegreerde dweilfunctie verwijdert hij niet alleen stof maar kan hij ook nat reinigen. De L10s Pro Ultra Heat gebruikt een zak in het basisstation, waardoor je het reservoir minder vaak hoeft te legen.

De Dreame is voorzien van een Li‑ion‑batterij aanwezig en de robot keert automatisch terug naar het station voor opladen en legen. De sensortechnologie helpt bij het vermijden van obstakels en het nauwkeurig schoonmaken van zowel harde vloeren als tapijt. Dankzij de meegeleverde app stuur je de schoonmaak aan, stel je no‑go‑zones in of plan je een dweilrondje.

Philips HomeRun 3000 Series Aqua XU3100/01

Deze Philips‑robot is bedoeld voor wie minder vaak handmatig wil schoonmaken. Hij beschikt over een gecombineerde stofzuig‑ en dweilfunctie en kan zichzelf legen via het automatische station. Met een gebruiksduur tot 200 minuten in de laagste stand en een geluidsniveau van 66 dB kan hij urenlang zijn werk doen zonder al te veel herrie. De stofcontainer van 35 cl is kleiner dan bij de HomeRun 7000, maar door het automatische leegmechanisme is dat geen probleem.

Je bedient het apparaat via de app en kunt daar zowel een schema programmeren als zones instellen. De Aqua XU3100/01 is een model uit de recente 3000‑serie en doordat hij een mop‑pad heeft kan hij zowel droog als nat reinigen, wat handig is voor harde vloeren zoals tegels en laminaat.

iRobot Roomba Combo j9+

De Roomba Combo j9+ is een model dat je vloeren zowel kan stofzuigen als dweilen. De Combo j9 beschikt over een opvangbak van 31 cl en hij kan zelf zijn inhoud legen in het automatische basisstation dat bij de set hoort. De Li‑ion‑accu zorgt voor een lange gebruiksduur en de robot maakt een routeplanning zodat elke ruimte efficiënt wordt schoongemaakt.

Via de app kun je zones instellen waar de robot niet mag komen en het dweilelement in‑ of uitschakelen. In de basis maakt de Combo j9+ zelfstandig een kaart van je woning en keert terug naar het station wanneer de accu moet opladen of de stofcontainer vol is. De robot is bedoeld voor huishoudens die gemak belangrijk vinden en biedt naast stofzuigen ook een dweilfunctie voor hardere vloeren.

MOVA Tech P50 Ultra

De MOVA Tech P50 Ultra is een forse robotstofzuiger met een basisstation. Het apparaat heeft een stofreservoir van 30 cl en wordt geleverd met een basisstation waarin je het stof eenvoudig kunt verwijderen. De robot produceert een geluidsniveau van 74 dB, iets hoger dan de Philips‑modellen, en weegt inclusief station ruim 13 kg.

Hij kan uiteraard ook automatisch terugkeren naar het station om op te laden of te legen. In de specificaties staat dat de MOVA is voorzien van een Li‑ion‑batterij en dat hij zowel kan stofzuigen als dweilen. De meegeleverde app maakt het mogelijk om routes in te stellen en zones te blokkeren. Met een vermogen van 700 W is hij krachtig genoeg voor tapijten en harde vloeren. Het is geschikt voor mensen die een uitgebreid station met automatische functies willen.