Solved

Javascript CSS: click on left panel header opens right panel

Posted on 2016-11-03
4
41 Views
Last Modified: 2016-11-06
I have a left panel of headers, that look like of like menu items. That is done.

I have a right panel. I want to be able to click on the left header and have a panel on the right appear.
If I click on another header, the panel on the right disappears and a different panel on the right appears, and so forth.

So how can I click a header on the left, and have it show the content on the right, and then another header hides all content on the right (not knowing what one was showing) and then shows the selected content on the right.

I don't want a slide out.
I looked at code and it shows panels where you click a plus symbol and the content within the same DIV group below it shows and hides. But I don't want it anywhere near each other on the page.

How do I do what I described?

thanks!
0
Comment
Question by:BobCSD
  • 2
4 Comments
 
LVL 51

Expert Comment

by:Julian Hansen
Comment Utility
What you want is fairly straightforward but I need to understand if you are not going to do a slide out how is the content on the right going to be structured? Where is the content that not visible going to go and how is the transition from current to next going to happen?

You will probably need JavaScript for this. It is possible to have adjacent panels hide and show using a hidden checkbox and CSS but your layout might preclude such an arrangement which will leave you with JS.

A click event handler on the class of the left links can be used to hide all right panels and activate the one linked to the header clicked. You can use classes and custom attributes to link left to right so for instance
Left Links
<li><a href="#rightpanelID1" class="left-panel-link">Left 1</a></li>

Open in new window


<div class="right-panel-link id="rightPanelID1">Linked to Left 1</div>

Open in new window

jQuery
<script src="http://code.jquery.com/jquery.js"></script>
<script>
$(function() {
   $('.left-panel-link').click(function(e) {
      e.preventDefault();
      $('.right-panel-links').hide();
      $($(this).attr('href')).show();
   });
});

Open in new window


This is not working code - you would need to adapt to your specific requirement but it outlines the general principle.

If you can give us some indication as to how the right is going to work I can knock together a sample.
0
 
LVL 82

Accepted Solution

by:
leakim971 earned 500 total points
Comment Utility
what do you think about the following ?
https://jqueryui.com/tabs/
0
 
LVL 1

Author Comment

by:BobCSD
Comment Utility
leakim971,
This is perfect!!! I selected the vertical one and it is exactly what I need!
https://jqueryui.com/tabs/#vertical
thanks so much! I really don't understand what it is doing and can't see clearly how it is hiding and showing, I assume all that code is in the widget somewhere. I'll read more on that.
thanks so much!
1
 
LVL 1

Author Comment

by:BobCSD
Comment Utility
Julian, thanks for taking the time to respond as well.
0

Featured Post

How to run any project with ease

Manage projects of all sizes how you want. Great for personal to-do lists, project milestones, team priorities and launch plans.
- Combine task lists, docs, spreadsheets, and chat in one
- View and edit from mobile/offline
- Cut down on emails

Join & Write a Comment

So you have coded your own WordPress plugin and now you want to allow users to upload images to a folder in the plugin folder rather than the default media location? Follow along and this article will show you how to do just that!
Not sure what the best email signature size is? Are you worried about email signature image size? Follow this best practice guide.
In this tutorial viewers will learn how to style a decorative dropcap for the first letter in a paragraph using CSS. In CSS, create a new paragraph class by typing "p.fancy": Then, to style only the first letter of the first sentence, include the ps…
The viewer will learn the benefit of using external CSS files and the relationship between class and ID selectors. Create your external css file by saving it as style.css then set up your style tags: (CODE) Reference the nav tag and set your prop…

728 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question

Need Help in Real-Time?

Connect with top rated Experts

10 Experts available now in Live!

Get 1:1 Help Now