jquery hide() werkt te laat
Marc -
04/05/2012 14:27:15Hallo,
ik heb een probleempje met jquery. Ik heb een div en dat wordt als de website geladen is ge hide(). Diezelfde div kan dan weer worden opgeschoven met slideToggle(). Alleen het probleem is dus dat als de website aan het laden is, de div nog eventjes wordt weergeven en dan heel snel wegflits. Hoe kan ik dit voorkomen?
MVG
ik heb een probleempje met jquery. Ik heb een div en dat wordt als de website geladen is ge hide(). Diezelfde div kan dan weer worden opgeschoven met slideToggle(). Alleen het probleem is dus dat als de website aan het laden is, de div nog eventjes wordt weergeven en dan heel snel wegflits. Hoe kan ik dit voorkomen?
MVG
PHP hulp
20/04/2024 12:52:56Wouter J
04/05/2012 14:35:25Chris PHP
04/05/2012 14:41:11Wouter J
04/05/2012 14:45:02Crhis, je kunt een div hide in CSS en daarna togglen met jQuery. De hide functie is niks meer dan een animatie naar display: none; zie ook de jQuery source code.
Voorbeeldje: http://jsfiddle.net/Jhnzx/
Voorbeeldje: http://jsfiddle.net/Jhnzx/
Gewijzigd op 04/05/2012 14:52:07 door Wouter J
Chris PHP
04/05/2012 14:54:11Wouter J
04/05/2012 15:09:45Nee, eigenlijk doe je precies hetzelfde. Alleen dan niet met jQuery maar met CSS.
Het grappige is dat .slideDown die display: none; veranderd in block en vervolgens de height op 0 zet om die te animeren naar zijn uit eindelijke waarde.
.slideUp animeert die height weer terug naar 0 en zet het weer op display: block; en de height die het eerst was.
En zo gaat het door, hoe het precies werkt is heel ingewikkeld. Zoals je misschien wel kunt zien zit de effecten libary van jQuery zeer moeilijk in elkaar.
Het grappige is dat .slideDown die display: none; veranderd in block en vervolgens de height op 0 zet om die te animeren naar zijn uit eindelijke waarde.
.slideUp animeert die height weer terug naar 0 en zet het weer op display: block; en de height die het eerst was.
En zo gaat het door, hoe het precies werkt is heel ingewikkeld. Zoals je misschien wel kunt zien zit de effecten libary van jQuery zeer moeilijk in elkaar.
Gewijzigd op 04/05/2012 15:13:56 door Wouter J
Chris PHP
04/05/2012 15:13:49Marc -
04/05/2012 16:24:53Bedankt voor de reacties!
Alleen display:none; had ik zelf ook al geprobeerd maar het werkte niet! de code is:
Toevoeging op 04/05/2012 16:27:07:
Laatmaar, de fout zat ergens anders! Nogmaals bedankt voor het snelle reageren! :)
Alleen display:none; had ik zelf ook al geprobeerd maar het werkte niet! de code is:
Code (php)
1
2
3
4
5
6
7
2
3
4
5
6
7
$('#bt_showFilter').click( function() {
setTimeout(function() {
$('#schoolwerkFilter').slideToggle(500);
}, 100);
});
setTimeout(function() {
$('#schoolwerkFilter').slideToggle(500);
}, 100);
});
Toevoeging op 04/05/2012 16:27:07:
Laatmaar, de fout zat ergens anders! Nogmaals bedankt voor het snelle reageren! :)