L'exemple de cet article décrit comment jquery implémente un simple effet de menu accordéon. Partagez-le avec tout le monde pour votre référence. La méthode de mise en œuvre spécifique est la suivante :
(function($) { var allPanels = $('.accordion > dd').hide(); $('.accordion > dt > a').click(function() { allPanels.slideUp(); $(this).parent().next().slideDown(); return false; }); })(jQuery);
Code HTML :
<dl class="accordion"> <dt><a href="">Panel 1</a></dt> <dd>Pellentesque fermentum dolor. Aliquam quam lectus, facilisis auctor, ultrices ut, elementum vulputate, nunc.</dd> <dt><a href="">Panel 2</a></dt> <dd>Donec nec justo eget felis facilisis fermentum. Aliquam porttitor mauris sit amet orci. Aenean dignissim pellentesque felis.</dd> <dt><a href="">Panel 3</a></dt> <dd>Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Phasellus hendrerit. Pellentesque aliquet nibh nec urna. In nisi neque, aliquet vel, dapibus id, mattis vel, nisi. Sed pretium, ligula sollicitudin laoreet viverra, tortor libero sodales leo, eget blandit nunc tortor eu nibh. Nullam mollis. Ut justo. Suspendisse potenti.</dd> </dl>
Section SCSS :
/* Sorry if you don't use SASS. Should be pretty easy to convert. */ .accordion { margin: 50px; dt, dd { padding: 10px; border: 1px solid black; border-bottom: 0; &:last-of-type { border-bottom: 1px solid black; } a { display: block; color: black; font-weight: bold; } } dd { border-top: 0; font-size: 12px; &:last-of-type { border-top: 1px solid white; position: relative; top: -1px; } } }
J'espère que cet article sera utile à la programmation jQuery de chacun.