Advertisement

How to Create a Filter List with Javascript | IAM Platform Tutorials

Learn how to create a filter list with JavaScript.


Filter List

How to use JavaScript to search for items in a list.


Create A Search List

Step 1) Add HTML:

CODE:

<input type=”text” id=”myInput” onkeyup=”myFunction()” placeholder=”Search for names..”>

<ul id=”myUL”>
<li><a href=”#” class=”header”>A</a></li>
<li><a href=”#”>Adele</a></li>
<li><a href=”#”>Agnes</a></li>

<li><a href=”#” class=”header”>B</a></li>
<li><a href=”#”>Billy</a></li>
<li><a href=”#”>Bob</a></li>

<li><a href=”#” class=”header”>C</a></li>
<li><a href=”#”>Calvin</a></li>
<li><a href=”#”>Christina</a></li>
<li><a href=”#”>Cindy</a></li>
</ul>

Note: We use href=”#” in this demo since we do not have a page to link it to. In real life this should be a real URL to a specific page.


Step 2) Add CSS:

Style the input element and the list:

CODE:

#myInput {
background-image: url(‘/css/searchicon.png’); /* Add a search icon to input */
background-position: 10px 12px; /* Position the search icon */
background-repeat: no-repeat; /* Do not repeat the icon image */
width: 100%; /* Full-width */
font-size: 16px; /* Increase font-size */
padding: 12px 20px 12px 40px; /* Add some padding */
border: 1px solid #ddd; /* Add a grey border */
margin-bottom: 12px; /* Add some space below the input */
}#myUL {
/* Remove default list styling */
list-style-type: none;
padding: 0;
margin: 0;
}

#myUL li a {
border: 1px solid #ddd; /* Add a border to all links */
margin-top: -1px; /* Prevent double borders */
background-color: #f6f6f6; /* Grey background color */
padding: 12px; /* Add some padding */
text-decoration: none; /* Remove default text underline */
font-size: 18px; /* Increase the font-size */
color: black; /* Add a black text color */
display: block; /* Make it into a block element to fill the whole list */
}

#myUL li a.header {
background-color: #e2e2e2; /* Add a darker background color for headers */
cursor: default; /* Change cursor style */
}

#myUL li a:hover:not(.header) {
background-color: #eee; /* Add a hover effect to all links, except for headers */
}


Step 3) Add JavaScript:

CODE:

<script>
function myFunction() {
// Declare variables
var input, filter, ul, li, a, i;
input = document.getElementById(‘myInput’);
filter = input.value.toUpperCase();
ul = document.getElementById(“myUL”);
li = ul.getElementsByTagName(‘li’);// Loop through all list items, and hide those who don’t match the search query
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName(“a”)[0];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = “”;
} else {
li[i].style.display = “none”;
}
}
}
</script>

Tip: Remove toUpperCase() if you want to perform a case-sensitive search.

FULL CODE:

CODE:

<!DOCTYPE html>
<html>
<head>
<style>
* {
box-sizing: border-box;
}

#myInput {
background-image: url(‘/css/searchicon.png’);
background-position: 10px 12px;
background-repeat: no-repeat;
width: 100%;
font-size: 16px;
padding: 12px 20px 12px 40px;
border: 1px solid #ddd;
margin-bottom: 12px;
}

#myUL {
list-style-type: none;
padding: 0;
margin: 0;
}

#myUL li a {
border: 1px solid #ddd;
margin-top: -1px; /* Prevent double borders */
background-color: #f6f6f6;
padding: 12px;
text-decoration: none;
font-size: 18px;
color: black;
display: block
}

#myUL li a.header {
background-color: #e2e2e2;
cursor: default;
}

#myUL li a:hover:not(.header) {
background-color: #eee;
}
</style>
</head>
<body>

<h2>My Phonebook</h2>

<input type=”text” id=”myInput” onkeyup=”myFunction()” placeholder=”Search for names..” title=”Type in a name”>

<ul id=”myUL”>
<li><a href=”#” class=”header”>A</a></li>
<li><a href=”#”>Adele</a></li>
<li><a href=”#”>Agnes</a></li>

<li><a href=”#” class=”header”>B</a></li>
<li><a href=”#”>Billy</a></li>
<li><a href=”#”>Bob</a></li>

<li><a href=”#” class=”header”>C</a></li>
<li><a href=”#”>Calvin</a></li>
<li><a href=”#”>Christina</a></li>
<li><a href=”#”>Cindy</a></li>
</ul>

<script>
function myFunction() {
var input, filter, ul, li, a, i;
input = document.getElementById(“myInput”);
filter = input.value.toUpperCase();
ul = document.getElementById(“myUL”);
li = ul.getElementsByTagName(“li”);
for (i = 0; i < li.length; i++) {
a = li[i].getElementsByTagName(“a”)[0];
if (a.innerHTML.toUpperCase().indexOf(filter) > -1) {
li[i].style.display = “”;
} else {
li[i].style.display = “none”;

}
}
}
</script>

</body>
</html>


CSS and Javascript Responsive Modal Image | IAM Platform Tutorials

blank

Learn how to create responsive Modal Images with CSS and JavaScript.


Modal Image

A modal is a dialog box/popup window that is displayed on top of the current page.


Step 1) Add HTML:

CODE:

<!– Trigger the Modal –>
<img id=”myImg” src=”img_fjords.jpg” alt=”Trolltunga, Norway” width=”300″ height=”200″><!– The Modal –>
<div id=”myModal” class=”modal”><!– The Close Button –>
<span class=”close” onclick=”document.getElementById(‘myModal’).style.display=’none'”>&times;</span><!– Modal Content (The Image) –>
<img class=”modal-content” id=”img01″>

<!– Modal Caption (Image Text) –>
<div id=”caption”></div>
</div>


Step 2) Add CSS:

CODE:

/* Style the Image Used to Trigger the Modal */
#myImg {
border-radius: 5px;
cursor: pointer;
transition: 0.3s;
}#myImg:hover {opacity: 0.7;}/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}/* Modal Content (Image) */
.modal-content {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
}

/* Caption of Modal Image (Image Text) – Same Width as the Image */
#caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: #ccc;
padding: 10px 0;
height: 150px;
}

/* Add Animation – Zoom in the Modal */
.modal-content, #caption {
-webkit-animation-name: zoom;
-webkit-animation-duration: 0.6s;
animation-name: zoom;
animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
from {-webkit-transform:scale(0)}
to {-webkit-transform:scale(1)}
}

@keyframes zoom {
from {transform:scale(0)}
to {transform:scale(1)}
}

/* The Close Button */
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}

.close:hover,
.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
.modal-content {
width: 100%;
}
}


Step 3) Add JavaScript:

CODE:

// Get the modal
var modal = document.getElementById(‘myModal’);// Get the image and insert it inside the modal – use its “alt” text as a caption
var img = document.getElementById(‘myImg’);
var modalImg = document.getElementById(“img01”);
var captionText = document.getElementById(“caption”);
img.onclick = function(){
modal.style.display = “block”;
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}// Get the <span> element that closes the modal
var span = document.getElementsByClassName(“close”)[0];// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = “none”;
}

FUll COde:

<!DOCTYPE html>
<html>
<head>
<style>
#myImg {
border-radius: 5px;
cursor: pointer;
transition: 0.3s;
}

#myImg:hover {opacity: 0.7;}

/* The Modal (background) */
.modal {
display: none; /* Hidden by default */
position: fixed; /* Stay in place */
z-index: 1; /* Sit on top */
padding-top: 100px; /* Location of the box */
left: 0;
top: 0;
width: 100%; /* Full width */
height: 100%; /* Full height */
overflow: auto; /* Enable scroll if needed */
background-color: rgb(0,0,0); /* Fallback color */
background-color: rgba(0,0,0,0.9); /* Black w/ opacity */
}

/* Modal Content (image) */
.modal-content {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
}

/* Caption of Modal Image */
#caption {
margin: auto;
display: block;
width: 80%;
max-width: 700px;
text-align: center;
color: #ccc;
padding: 10px 0;
height: 150px;
}

/* Add Animation */
.modal-content, #caption {
-webkit-animation-name: zoom;
-webkit-animation-duration: 0.6s;
animation-name: zoom;
animation-duration: 0.6s;
}

@-webkit-keyframes zoom {
from {-webkit-transform:scale(0)}
to {-webkit-transform:scale(1)}
}

@keyframes zoom {
from {transform:scale(0)}
to {transform:scale(1)}
}

/* The Close Button */
.close {
position: absolute;
top: 15px;
right: 35px;
color: #f1f1f1;
font-size: 40px;
font-weight: bold;
transition: 0.3s;
}

.close:hover,
.close:focus {
color: #bbb;
text-decoration: none;
cursor: pointer;
}

/* 100% Image Width on Smaller Screens */
@media only screen and (max-width: 700px){
.modal-content {
width: 100%;
}
}
</style>
</head>
<body>

<h2>Image Modal</h2>
<p>In this example, we use CSS to create a modal (dialog box) that is hidden by default.</p>
<p>We use JavaScript to trigger the modal and to display the current image inside the modal when it is clicked on. Also note that we use the value from the image’s “alt” attribute as an image caption text inside the modal.</p>

<img id=”myImg” src=”img_fjords.jpg” alt=”Trolltunga, Norway” width=”300″ height=”200″>

<!– The Modal –>
<div id=”myModal” class=”modal”>
<span class=”close”>&times;</span>
<img class=”modal-content” id=”img01″>
<div id=”caption”></div>
</div>

<script>
// Get the modal
var modal = document.getElementById(‘myModal’);

// Get the image and insert it inside the modal – use its “alt” text as a caption
var img = document.getElementById(‘myImg’);
var modalImg = document.getElementById(“img01”);
var captionText = document.getElementById(“caption”);
img.onclick = function(){
modal.style.display = “block”;
modalImg.src = this.src;
captionText.innerHTML = this.alt;
}

// Get the <span> element that closes the modal
var span = document.getElementsByClassName(“close”)[0];

// When the user clicks on <span> (x), close the modal
span.onclick = function() {
modal.style.display = “none”;
}
</script>

</body>
</html>


CLICK HERE TO VIEW WORKING IMAGE MODAL Continue reading “CSS and Javascript Responsive Modal Image | IAM Platform Tutorials”