The code presented below can be used to highlight images on page when the user clicks on them then, if the user clicks again on that image, the highlight style is removed.
- The script adds CSS style with JavaScript: "padding", "background", and "border" to the image clicked by the user, when the user clicks again on that image, the highlight effect is removed.

Code of the script:

<script>
// set image properties, for Highlight effect added when click
var imgProp = {
 'padding': '3px',
 'backgroundColor': '#eded01',
 'borderSize': '1ps',
 'borderStyle': 'dashed',
 'borderColor': '#0001fe'
};

// function to highlight IMGs on click - from: https://coursesweb.net/
function highlightImg() {
 // gets all <img> tags, and their number
 var allimgs = document.getElementsByTagName('img');
 var nrallimgs = allimgs.length;

 // traverses the <img> elements, and register onclick to each one
 // else, apply the properties defined in $imgProp
 for(i=0; i<nrallimgs; i++) {
 allimgs[i].onclick=function() {
 // if borderStyle is already applied, anulates the 'padding', 'background' and 'border' properties
 if(this.style.borderStyle == imgProp.borderStyle) {
 this.style.padding = 'auto';
 this.style.background = 'none';
 this.style.border = 'none';
 }
 else {
 this.style.padding = imgProp.padding;
 this.style.backgroundColor = imgProp.backgroundColor;
 this.style.borderSize = imgProp.borderSize;
 this.style.borderStyle = imgProp.borderStyle;
 this.style.borderColor = imgProp.borderColor;
 }
 }
 }
}

// calls the highlightImg() function to apply the effect
highlightImg();
</script>
- In the imgProp object you can define the highlight style: "padding", "background", and "border" properties.
- The effect is for all the <img> tags in the page; if you want the highlight effect to be applied only to the images added into a specified HTML element, replace this code:
var allimgs = document.getElementsByTagName('img');
With this line of code ('idelm' is the ID of the element in which the images are included).
var allimgs = document.getElementById('idelm').getElementsByTagName('img');
- The JavaScript script must be added at the end of the HTML document, before the ending </body> tag.

• Demo, click on these images.
Robot     Love     Angel

Daily Test with Code Example

HTML
CSS
JavaScript
PHP-MySQL
Which tag renders as emphasized text, displaying the text oblique?
<strong> <pre> <em>
<p>Web development courses: <em>CoursesWeb.net</em></p>
Which CSS property defines the space between the element border and its content?
margin padding position
h3 {
  padding: 2px 0.2em;
}
Click on the method which returns the first element that matches a specified group of selectors.
getElementsByName() querySelector() querySelectorAll()
// gets first Div with class="cls", and shows its content
var elm = document.querySelector("div.cls");
alert(elm.innerHTML);
Indicate the PHP variable that contains data from a form sent with method="post".
$_SESSION $_GET $_POST
if(isset($_POST["field"])) {
  echo $_POST["field"];
}
Highlight Images on click

Last accessed pages

  1. Using openssl_encrypt and openssl_decrypt in PHP (107)
  2. XML sitemap with data from MySQL (2589)
  3. Contact page - CoursesWeb (2155)
  4. Tabs effect with CSS (2867)
  5. Insert, Select and Update NULL value in MySQL (33021)

Popular pages this month

  1. Contact page - CoursesWeb (1641)
  2. Tabs effect with CSS (1627)
  3. Insert, Select and Update NULL value in MySQL (825)
  4. Read Excel file data in PHP - PhpExcelReader (653)
  5. PHP getElementById and getElementsByTagName (414)