I am trying to toggle between two divs. For example, onload, I want the left content to show and the right content will remain hidden. If I click the right div, I want the left content to hide and the right content to appear and vise versa. I am very new to javascript but here is what I have. I can't seem to get it to work. Please help...
Here is my HTML code:
<div onclick="toggle_visibility('left');">
Left
</div>
<div onclick="toggle_visibility('right');">
Right
</div>
<div id="left" style="display: block;">
This is the content for the left side
<div>
<div id="right" style="display: none;">
This is the content for the ride side
</div>
Here is the Javascript I am using:
<script type="text/javascript">
function toggle_visibility(id) {
var e = document.getElementById(id);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
</script>
Live demo: http://jsfiddle.net/PauWy/1/
HTML:
<p id="toggle">
<span> Left </span>
<span> Right </span>
</p>
<div id="left"> LEFT CONTENT </div>
<div id="right"> RIGHT CONTENT </div>
JavaScript:
$('#toggle > span').click(function() {
var ix = $(this).index();
$('#left').toggle( ix === 0 );
$('#right').toggle( ix === 1 );
});
CSS (to hide the right DIV onload):
#right { display:none; }
Put the JavaScript code at the bottom of the page.
<script>
$(function() {
// put jQuery code here
});
</script>
</body>
Notice how the SCRIPT element is located at the end of the BODY element. Also, notice that the jQuery code should be inside the ready handler: $(function() { ... code ... });