Sjay
Sjay

Reputation: 801

Sidebar navigation and display content on right side

I want to display sidebar navigation(left menu links) and content of each clicked vertical menu display on right side.

For example lets say I have this left menu:

If I click on London link the content/page should display on right side and same for New york link.

http://jsfiddle.net/J5nCS/717/

#header {
    background-color:black;
    color:white;
    text-align:center;
    padding:5px;
}
#nav {
    line-height:30px;
    background-color:#eeeeee;
    height:300px;
    width:100px;
    float:left;
    padding:5px;          
}
#section {
    width:350px;
    float:left;
    padding:10px;        
}
#footer {
    background-color:black;
    color:white;
    clear:both;
    text-align:center;
   padding:5px;      
}
<div id="header">
<h1>City Gallery</h1>
</div>

<div id="nav">
London<br>
Paris<br>
Tokyo<br>
</div>

<div id="section">
<h2>London</h2>
<p>
London is the capital city of England. It is the most populous city in the United Kingdom,
with a metropolitan area of over 13 million inhabitants.
</p>
<p>
Standing on the River Thames, London has been a major settlement for two millennia,
its history going back to its founding by the Romans, who named it Londinium.
</p>
</div>

<div id="footer">
Copyright © footer.com
</div>

Upvotes: 6

Views: 41357

Answers (2)

Stickers
Stickers

Reputation: 78686

Adjusted the markup slightly for the tabs, and changed IDs to classes for styling:

<div class="header">
     <h1>City Gallery</h1>
</div>
<div class="nav">
    <ul>
        <li><a href="#section-london">London</a></li>
        <li><a href="#section-paris">Paris</a></li>
    </ul>
</div>
<div id="section-london" class="tab-content">
    <h2>London</h2>
    <p>London is the capital city of England. It is the most populous city in the United Kingdom, with a metropolitan area of over 13 million inhabitants.</p>
</div>
<div id="section-paris" class="tab-content">
    <h2>Paris</h2>
    <p>Paris, France's capital, is a major European city and a global center for art, fashion, gastronomy and culture. Its picturesque 19th-century cityscape is crisscrossed by wide boulevards and the River Seine. </p>
</div>
<div class="footer">Footer</div>

And the jQuery part:

$(document).ready(function () {
    $('.nav ul li:first').addClass('active');
    $('.tab-content:not(:first)').hide();
    $('.nav ul li a').click(function (event) {
        event.preventDefault();
        var content = $(this).attr('href');
        $(this).parent().addClass('active');
        $(this).parent().siblings().removeClass('active');
        $(content).show();
        $(content).siblings('.tab-content').hide();
    });
});

jsfiddle

Upvotes: 8

C. McCarthy
C. McCarthy

Reputation: 102

You want to a href to the text in the side bar to link, to the Paris page when you click Paris and London page when you click London. For example

<a href="london.html">London</a><br>

and

<a href="newyork.html">Paris</a><br>

Upvotes: 1

Related Questions