Javascript Course

In this page it is presented a simple JavaScript function (showHide() ) that can be used to show and hide multiple HTML elements. This function receives two arguments:

- idShow - an Array with the IDs of the HTML elements to show.
- idHide - an Array with the IDs of the HTML elements to hide.

Code of the showHide() function

/*
 function to show and hide multiple HTML elements - https://coursesweb.net/javascript/
 idShow - an Array with the IDs of the HTML elements to show
 idHide - an Array with the IDs of the HTML elements to hide
*/
function showHide(idShow, idHide) {
 // gets the number of items to traverse with for()
 var nrshow = idShow.length;
 var nrhide = idHide.length;

 // traverses the idShow array to apply display='block' to each ID
 for(var i=0; i<nrshow; i++) {
 if(document.getElementById(idShow[i])) document.getElementById(idShow[i]).style.display = 'block';
 }

 // traverses the idHide array to apply display='none' to each ID
 for(var i=0; i<nrhide; i++) {
 if(document.getElementById(idHide[i])) document.getElementById(idHide[i]).style.display = 'none';
 }
}

- Here's an example of usage of this function. Text with Read-More button that shows a hidden content, and another button that hides that content and displays again the Read-More button.
<!DOCTYPE html>
<html>
<head>
<title>Title</title>
<style>
.divcnt {
 margin: 1em 20%;
 background:#dedeed;
 border: 1px solid #bbbbbb;
}
.scnt {
 display: none;
 position: relative;
 background: #ededfe;
 padding: 1em 2px 2px 2px;
}
.closesc {
 position: absolute;
 top: 1px;
 right: .3em;
 font-weight: 800;
 color: #ed0001;
 cursor: pointer;
}
.readmc {
 text-decoration: underline;;
 font-weight: 800;
 color: #ed0001;
 cursor: pointer;
}
</style>
</head>
<body>
<h4>Example Show / Hide HTML elements with JavaScript</h4>

<div class='divcnt'>
 Some text, then ... <span id='rc1' class='readmc'>Read-More</span>
 <div class='scnt' id='sc1'>
 <div class='closesc' id='cl1'>X</div>
 The rest of the content, images, media, etc. ...
 </div> 
</div>

<div class='divcnt'>
 Beginning introductory text ... <span id='rc2' class='readmc'>Read-More</span>
 <div class='scnt' id='sc2'>
 <div class='closesc' id='cl2'>X</div>
 The complete content<br/>
HTML tags, links, tables, etc. ...
 </div> 
</div>

<script>
/*
 function to show and hide multiple HTML elements - https://coursesweb.net/javascript
 idShow - an Array with the IDs of the HTML elements to show
 idHide - an Array with the IDs of the HTML elements to hide
*/
function showHide(idShow, idHide) {
 // gets the number of items to traverse with for()
 var nrshow = idShow.length;
 var nrhide = idHide.length;

 // traverses the idShow array to apply display='block' to each ID
 for(var i=0; i<nrshow; i++) {
 if(document.getElementById(idShow[i])) document.getElementById(idShow[i]).style.display = 'block';
 }

 // traverses the idHide array to apply display='none' to each ID
 for(var i=0; i<nrhide; i++) {
 if(document.getElementById(idHide[i])) document.getElementById(idHide[i]).style.display = 'none';
 }
}

// Registers onclick to Read-More and X buttons
if(document.getElementById('rc1')) document.getElementById('rc1').onclick = function(){ showHide(['sc1'], [this.id]); };
if(document.getElementById('rc2')) document.getElementById('rc2').onclick = function(){ showHide(['sc2'], [this.id]); };
if(document.getElementById('cl1')) document.getElementById('cl1').onclick = function(){ showHide(['rc1'], [this.parentNode.id]); };
if(document.getElementById('cl2')) document.getElementById('cl2').onclick = function(){ showHide(['rc2'], [this.parentNode.id]); };
</script>
</body>
</html>
Demo:
Some text, then ... Read-More
X
The rest of the content, images, media, etc. ...
Beginning introductory text ... Read-More
X
The complete content
HTML tags, links, tables, etc. ...

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which HTML5 tag defines marked text? (can be used to highlight parts of text)
<mark> <embed> <span>
<p>Free corses: <mark>coursesweb.net</mark> for Web Development.</p>
Which CSS pseudo-class adds a style to an element when the mouse is over it?
:focus :hover :active
a:hover {
  font-weight: bold;
  color: #00da01;
}
Click on the function which returns a string value that represents the number rounded to the x digits after the decimal point.
toPrecision(x) toFixed(x) floor(x)
var num = 12.34567;
num = num.toFixed(2);
alert(num);       // 12.35
Indicate the PHP function which reads an entire file into an array.
[) file() readfile()
$arr = file("a_file.txt", FILE_IGNORE_NEW_LINES | FILE_SKIP_EMPTY_LINES);
var_export($arr);
Show and Hide HTML elements

Last accessed pages

  1. PHP-MySQL free course, online tutorials PHP MySQL code (59711)
  2. Dynamically Button to Scroll to Page Top (640)
  3. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (113910)
  4. JavaScript Trivia Game (6623)
  5. Wake Up! (9726)

Popular pages this month

  1. Courses Web: PHP-MySQL JavaScript Node.js Ajax HTML CSS (458)
  2. The School for Gods (335)
  3. PHP-MySQL free course, online tutorials PHP MySQL code (227)
  4. Add, Change, and Remove Attributes with jQuery (210)
  5. PHP Unzipper - Extract Zip, Rar Archives (206)