javascript - jquery Toggling between sidebars -


i want create simple sidebar. have 2 links, clicking on them expand sidebar different div>. clicking again collapse it.
how can make, clicking on link2, expanded sidebar link1, change div , not collapse sidebar? panel in http://www.w3schools.com/ (click tutorials/references/examples)

#wrapper { padding-left: 0; } #wrapper.toggled { padding-left: 220px; } #wrapper-link1 { display:none; }  $('[data-toggle="link1"]').click(function () {     $('#wrapper').toggleclass('toggled');     $('#wrapper-link2').hide();     $('#wrapper-link1').show(); }); 

what you're attempting known tabbed content. in specific instance presentation little different implementation same/similar.

what want bind same click handler links show own content div. handler hide shown div , show selected content div.

html

<ul class="sidebar-toggler">   <li><a href="#" data-target="a">link a</a></li>   <li><a href="#" data-target="b">link b</a></li> </ul>  <aside class="sidebar-content">   <div data-content="a">     content <strong>link a</strong>.   </div>   <div data-content="b">     content <strong>link b</strong>.   </div> </aside> 

css

.sidebar-content [data-content] {   display: none; } 

js

var $sidebar_content = $( '.sidebar-content' );  $( '.sidebar-toggler' ).on( 'click', '[data-target]', function ( e ) {      var target = $( ).data( 'target' );      $sidebar_content.find( '[data-content]' ).hide();     $sidebar_content.find( '[data-content="' + target + '"]' ).show();  } ); 

demo jsfiddle.

typically when want hide 1 of these tabbed content regions simplest thing hide of them instead of searching 1 open , closing it.

$sidebar_content.find( '[data-content]' ).hide(); 

then open selected content div. few different ways use data- attributes. data-target points data-content same value (which can anything).

var target = $( ).data( 'target' ); $sidebar_content.find( '[data-content="' + target + '"]' ).show(); 

note: when using jquery , data object, jquery parse data- attributes , store values there. that's data( 'target' ) comes from. see jquery.data() more details.


Comments

Popular posts from this blog

sql - invalid in the select list because it is not contained in either an aggregate function -

Angularjs unit testing - ng-disabled not working when adding text to textarea -

How to start daemon on android by adb -