Basiseffecten
Last updated
Last updated
Alle effecten die we hier bespreken, gebruiken tot drie optionele parameters. Neem bijvoorbeeld hide()
. Dit effect verbergt het geselecteerde element. Syntax: hide([duration] [, easing] [, callback])
Duration of tijdsduur.
Dit is de tijdspanne waarover de animatie loopt. U kan de tijd opgeven in milliseconden of met de strings slow
, normal
of fast
(respectievelijk 600 ms, 400 ms en 200 ms).
Easing of versnelling.
jQuery kent twee optionele versnellingsparameters: linear
en swing
(de default waarde). Via plugin’s zijn extra versnellingsparameters beschikbaar. Hierover later meer.
Callback: Deze functie wordt uitgevoerd zodra de animatie volledig is afgerond.
★ Open animatie/basisEffecten.html en bekijk de broncode. ★ Test de pagina in een browser.
Deze pagina bevat enkele div-tags. Het click-event op de verschillende knoppen activeert een animatie.
Deze effecten passen tijdens de animatie de CSS-eigenschappen height, width en opacity aan. Aan het einde van de animatie wordt voor hide()
de eigenschap display:none
toegevoegd. Op het einde van show()
komt de display-eigenschap terug naar de initiële toestand. Voor blocklevel elementen zoals een div-tag of een h1-tag is de initiële toestand display:block
. Voor inline elementen zoals een span-tag of een strong-tag is de initiële toestand display:inline
.
★ Bekijk de effecten die bij de links van div1
horen.
★ Test het resultaat in een browser.
De animatiesnelheid kan u aanpassen met de variabele snelheid. Initieel staat snelheid ingesteld op 1000 (1000 ms of 1 sec). Als snelheidswaarde kan u een getal ingeven of de strings slow
, normal
en fast
. De twee eerste knoppen maken #div1 respectievelijk onzichtbaar en zichtbaar.
Met de methode toggle()
kan u de vorige toestand omkeren. Zichtbaar wordt onzichtbaar en omgekeerd. Telkens u op de knop #toggleDiv1 klinkt, wijzigt de toestand. (Zie ook paragraaf 6.5.)
De vierde knop activeert het toggle-effect, voorzien van een callback functie. De if-voorwaarde geeft als waarde true
of false
. Afhankelijk van deze waarde wordt de bijbehorende tekst getoond.
$('#div1).is(':visible')
is niet hetzelfde als $('#div1:visible')
.
$('#div1:visible')
is een selector en bevat dan enkel het object, en niet de waarde true
of false
. Het resultaat van het if-else-statement is bijgevolg altijd false
en de boodschap is dus alert('Div1 is onzichtbaar')
.
Ook deze effecten tonen/verbergen het element, maar nu met een schuifeffect.
Deze methodes passen enkel de CSS-eigenschap height aan om uiteindelijk te eindigen met de eigenschap display:none
voor slideUp()
en display:block
of display:inline
voor slideDown()
.
★ Bekijk de effecten die bij de links van div2 horen. ★ Test het resultaat in een browser.
Ook deze methodes tonen/verbergen het element, maar nu met een vervagingseffect.
Deze methodes passen enkel de CSS-eigenschap opacity
aan om uiteindelijk te eindigen met de eigenschap display:none
voor fadeOut()
en display:block
of display:inline
voor fadeIn()
.
★ Bekijk de effecten die bij de links van div3 horen. ★ Test het resultaat in een browser.
Bij alle voorgaande methodes verdwijnt de div-tag volledig van het scherm. De vrijgekomen plaats wordt ingenomen door de onderliggende elementen of, met andere woorden, aan de div-tag wordt de CSS-eigenschap display:none
toegevoegd.
De methode fadeTo()
gebruikt de CSS-eigenschap visibility (hidden
of visible
). Ook hiermee kan u de div-tag laten verdwijnen, maar de plaats wordt niet vrijgegeven. De onderliggende elementen schuiven dus niet naar boven.
De syntax van fadeTo()
is ook iets anders dan de voorgaande:
.fadeTo( duration, opacity [, easing] [, callback] )
De parameters duration
en opacity
zijn verplicht. De opacity
of dekking is een getal tussen 0 (onzichtbaar) en 1 (zichtbaar).
★ Bekijk de effecten die bij de links van div4 horen. ★ Test het resultaat in een browser.