/ JTricks.com
/ Building Blocks
/ Showing/hiding parts of web page
Last updated: 21 Feb 2009
Showing/hiding parts of web page
The most basic way of making web pages dynamic is to display or hide content
based on some user action. Dynamic HTML forms could be done this way.
The javascript sample presented here will allow you to show or hide any element of the web page (or even an
DIV
or SPAN
element containing parts of HTML document).
Script demonstration
Hide DIV
Gracefuly degradable toggle visibility
Script source code
To use the script perform the following steps:- Assign an id to web page element you wish to show and/or hide. (for example, to an absolutely-positioned
DIV
on the page as shown in script demo section). - If you want your element to be initally invisible, have it with style
display:none
. - Insert the following code somewhere on the page (or put in separate file and reference it):
<script type="text/javascript"><!-- /* Script by: www.jtricks.com * Version: 20090221 * Latest version: * www.jtricks.com/javascript/blocks/showinghiding.html */ function showPageElement(what) { var obj = typeof what == 'object' ? what : document.getElementById(what); obj.style.display = 'block'; return false; } function hidePageElement(what) { var obj = typeof what == 'object' ? what : document.getElementById(what); obj.style.display = 'none'; return false; } function togglePageElementVisibility(what) { var obj = typeof what == 'object' ? what : document.getElementById(what); if (obj.style.display == 'none') obj.style.display = 'block'; else obj.style.display = 'none'; return false; } //--></script>
- Use
showPageElement()
function with with the object or its id to show an element of the web page. Similarly, usehidePageElement()
to hide andtogglePageElementVisibility()
to change it visibility from hidden to shown and vice versa. For example:
<button onclick="showPageElement('div1')"> Show DIV </button>or
<button onclick="hidePageElement(document.getElementById('div1'))"> Hide DIV </button>or (if you require graceful degradation when the browser has javascript turned off - note the presence of
return
keyword)
<a href="put graceful degradation url here" onclick="return togglePageElementVisibility('div1')"> Toggle DIV </a>
- Be sure to verify page design with the Javascript turned off.
Browser compatibility
The javascript snippet above was tested on the following user agents:Mozilla | Firefox 3.0.x | Ok. |
Firefox 2.0.x | Ok. | |
Firefox 1.5 | Ok. | |
Firefox 1.0.x | Ok. | |
Microsoft | Internet Explorer 7.0 | Ok. |
Internet Explorer 6.0 | Ok. | |
Internet Explorer 5.0 | Ok. | |
Opera | Opera 9.x | Ok. |
Opera 8.x | Ok. | |
KHTML | Safari 3.2.1 for Windows | Ok. |
Konqueror 3.5.5 | Ok. | |
No Javascript or Javascript turned off |
Any | Graceful degradation possible. * |
*: Graceful degradation could be done if the script is called from
onclick
handler of hyperlinks or form submit buttons and
the handler returns false
. This way if javascript is turned on, it will stop the
default action (hyperlink navigation or form submit) and execute the script, but
if javascript is turned off default action will execute.