Go Premium for a chance to win a PS4. Enter to Win

x
?
Solved

Javascript CSS: click on left panel header opens right panel

Posted on 2016-11-03
4
Medium Priority
?
313 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:Starr Duskk
  • 2
4 Comments
 
LVL 60

Expert Comment

by:Julian Hansen
ID: 41872967
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 83

Accepted Solution

by:
leakim971 earned 2000 total points
ID: 41873268
what do you think about the following ?
https://jqueryui.com/tabs/
0
 
LVL 2

Author Comment

by:Starr Duskk
ID: 41876280
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 2

Author Comment

by:Starr Duskk
ID: 41876281
Julian, thanks for taking the time to respond as well.
0

Featured Post

Free Tool: Port Scanner

Check which ports are open to the outside world. Helps make sure that your firewall rules are working as intended.

One of a set of tools we are providing to everyone as a way of saying thank you for being a part of the community.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Q&A with Course Creator, Mark Lassoff, on the importance of HTML5 in the career of a modern-day developer.
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
In this tutorial viewers will learn how to style a corner ribbon overlay for an image using CSS Create a new class by typing ".Ribbon":  Define the class' "display:" as "inline-block": Define its "position:" as "relative": Define its "overflow:" as …
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…
Suggested Courses

876 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