jquery - How to make my menu show only one div at a time? -
this works fine, when 1 div content shown, if click show div content, overrides first div. want show 1 div @ time. can help me? give thanks in advance.
html:
<div class="clicked"> <p>block 1</p> </div> <div class="content" style="display:block;"> <p>1nam liber tempor cum soluta nobis eleifend alternative congue nihil imperdiet doming id quod mazim placerat facer possim assum.</p> <p>claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum.<br/><br/> mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p> </div> <div class="clickable"> <p>block 2</p> </div> <div class="content"> <p>2nam liber tempor cum soluta nobis eleifend alternative congue nihil imperdiet doming id quod mazim placerat facer possim assum.</p> <p>claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum.<br/><br/> mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p> </div> <div class="clickable"> <p>block 3</p> </div> <div class="content"> <p>3nam liber tempor cum soluta nobis eleifend alternative congue nihil imperdiet doming id quod mazim placerat facer possim assum.</p> <p>claritas est etiam processus dynamicus, qui sequitur mutationem consuetudium lectorum.<br/><br/> mirum est notare quam littera gothica, quam nunc putamus parum claram, anteposuerit litterarum formas humanitatis per seacula quarta decima et quinta decima. eodem modo typi, qui nunc nobis videntur parum clari, fiant sollemnes in futurum.</p> </div>
jquery:
$(window).load(function() { $('.clicked, .clickable').on('click', function(){ if ($(this).hasclass('clickable')){ $(this).next().show(); $(this).removeclass('clickable').addclass('clicked'); } else { $(this).next().hide(); $(this).removeclass('clicked').addclass('clickable'); } }); });
just hide .content
divs on click before showing 1 clicked on:
$(document).ready(function() { $('.clicked, .clickable').on('click', function(){ if ($(this).hasclass('clickable')){ $('.content').hide(); //hide content divs before showing clicked 1 $(this).next().show(); $(this).removeclass('clickable').addclass('clicked'); } else { $(this).next().hide(); $(this).removeclass('clicked').addclass('clickable'); } }); });
jsfiddle jquery html
No comments:
Post a Comment