الأحد، 5 أبريل 2015

How to Create Show/Hide Effect in Image SlideShow Using JQuery

The fadeOut() effect presented on the post "How to create Fade Effect in Image Slideshow using JQuery" which I have already posted, makes elements invisible but retains space for them in the document layout.

The hide() method, by contrast, removes the elements from the layouts as if the CSS display property was set to none. When invoked with no arguments, hide() and show() simply hide or show the selected elements immediately. With a duration argument, however, they animate the hiding or showing process. hide() shrinks an element's width and height to 0 at the same time that it reduces the element's opacity to 0. show() reverses the process.

toggle() changes the visibility state of the elements, it is invoked on, if they are hidden, it calls show(), and it they are visible, it calls hide(). As with show() and hide(), you must pass a toggle() to get an animated effect. Passing true to toggle() is the same as calling show() with no arguments. Note also that if you pass two or more function arguments to toggle() it registers event handlers.

Here is an example that invokes methods for show/hide effect animation. The first image has show() effect animation, second image has hide() effect animation and the third animation has toggle() effect animation.

$("#img1").show(2000);
$("#img2").hide(3000);
$("#img3").toggle(1000);

Here are some examples to show show(), hide() and toggle() effects using jQuery.

Example of show() Effect 


<script>
$(document).ready(function(){
$(#btn1).click(function () {
$("#img1").show(2000);
});
});
</script>

<input type=button id="btn1" value="Start Show"/>
<img id="img1" src="img1.jpg">



Example of hide() Effect


<script>
$(document).ready(function(){
$(#btn2).click(function () {
$("#img2").hide(3000);
});
});
</script>

<input type=button id="btn2" value="Start Hide"/>
<img id="img2" src="img2.jpg">



Example of toggle() Effect 


<script>
$(document).ready(function(){
$(#btn3).click(function () {
$("#img3").toggle(1000);
});
});
</script>






<input type=button id="btn3" value="Start Toggle"/>
<img id="img3" src="img3.jpg">


Full jQuery code for Show/Hide effect image animation


<script 

src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.2/jquery.min.js"></script>
</script>

<style>
.show_hide
{
box-shadow:1px 1px 5px 2px #6DC83C;
position:relative;
width:448px;
height: 336px;
border-radius:19px;
}

.show_hide img
{
border-radius:19px;
position:absolute;
left:0;
top:0;
}

</style>

<script>
$(function(){
$('.show_hide img:gt(0)').hide();
setInterval(function(){$('.show_hide :first-child').hide(3000).next('img').show(3000).end

().appendTo('.show_hide');}, 6000);
});
</script>

<div class="show_hide">
<img src="img1.JPG" />
<img src="img2.JPG" />
<img src="img3.JPG" />
</div>


Preview of Show/Hide effect image animation







Related Posts:

الجمعة، 3 أبريل 2015

How to Reveal the Contents using JavaScript?

If you wanted to show/hide(reveal) the contents in HTML document by using simple methods, it is possible by using a simple javascript code running in it. This feature not only helps to make your webpage more stylist and attractive, also helps to present main contents or headings for the first look. It also helps to minimize the space for webpage which have very long content.

In this post, I am going to describe "How to Reveal the Contents using simple JavaScrpt code". Here I am using simple CSS code to set the CSS property of HTML element show or hidden and executed a JavaScript function on window.onload event handler.

You can use the following simple CSS code to set the CSS property of HTML element show or hidden.

.reveal * {display:none;}

 // This code specifies the display property of HTML element having class name "reveal" to none

.reveal *.handle{display:block;}

// This code specifies the display property of HTML element having class name "handle" for child of "reveal" class to block.


You can use the following simple JavaScript function to Reveal the Contents.

window.onload=function(){

var elements=document.getElementsByClassName("reveal");
for(var i=0; i<elements.length; i++) {
var elt=elements[i];
//find the "handle" element with the container
var title=elt.getElementsByClassName("handle")[0];
//when that element is clicked, reveal the rest of the content
title.onclick=function(){
if(elt.className=="reveal") {elt.className="revealed"; title.innerHTML="Hide Contents";}
else if (elt.className=="revealed") {elt.className="reveal"; title.innerHTML="Show Contents";}
}
}
};

Here document.getElementsByClassName("reveal"); finds all container elements with class "reveal" and uses a simple for loop to assign each elements of "reveal" class to elt and assign first element of "handle" to title variable. At last CSS property of the elements are changed by assigning a function on onclick event.


Full HTML Code with JavaScript to Reveal the Contents


<html>
<head>
<title>How to Reveal the Contents Using JavaScript</title>
<style>
.reveal * {display:none;}
.reveal *.handle{display:block;} /*Except for the class "handle" child */
</style>
<script>
window.onload=function(){
//find all container elements with class "reveal".

var elements=document.getElementsByClassName("reveal");
for(var i=0; i<elements.length; i++) {
var elt=elements[i];
//find the "handle" element with the container
var title=elt.getElementsByClassName("handle")[0];
//when that element is clicked, reveal the rest of the content
title.onclick=function(){
if(elt.className=="reveal") {elt.className="revealed"; title.innerHTML="Hide Contents";}
else if (elt.className=="revealed") {elt.className="reveal"; title.innerHTML="Show Contents";}
}
}
};
</script>
</head>
<body>
<div class="reveal">
<h3 class="handle">Show Contents</h3>
<h4 class="handle">Click Here to Reveal Hidden text</h4>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<h4 class="handle">Click Here to Reveal Hidden text</h4>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<h4 class="handle">Click Here to Reveal Hidden text</h4>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<p> This paragraph is hidden. It appears when you click on the title.</p>
<p> This paragraph is hidden. It appears when you click on the title.</p>
</div>
</body>
</html>


Preview of Above HTML Code to Reveal the Contents


Show Contents

Click Here to Reveal Hidden text

This paragraph is hidden. It appears when you click on the title.

Click Here to Reveal Hidden text

This paragraph is hidden. It appears when you click on the title.
This paragraph is hidden. It appears when you click on the title.

Click Here to Reveal Hidden text

This paragraph is hidden. It appears when you click on the title.
This paragraph is hidden. It appears when you click on the title.
This paragraph is hidden. It appears when you click on the title.
This paragraph is hidden. It appears when you click on the title.

You can also use Mouse over and Mouse out event to generate instant preview of the contents for the given headings for the above function as follows.

title.onmouseover=function()
{elt.className="revealed";}

title.onmouseout=function()
{elt.className="reveal";}

Here is a full HTML code for the above JavaScript code.

<html>
<head>
<title>How to Reveal the Contents Using JavaScript</title>
<style>
.reveal * {display:none;}
.reveal *.handle{display:block;}
</style>
<script>
window.onload=function(){
var elements=document.getElementsByClassName("reveal");
for(var i=0; i<elements.length; i++) {
var elt=elements[i];
//find the "handle" element with the container
var title=elt.getElementsByClassName("handle")[0];
//when that element is clicked, reveal the rest of the content
title.onmouseover=function()
{elt.className="revealed";}
title.onmouseout=function()
{elt.className="reveal";}
}
};
</script>
</head>
<body>
<div class="reveal">
<h4 class="handle">Mouse over to Reveal Hidden text</h4>
<p> This paragraph is hidden. It appears when you mouse over on the title.</p>
<p> This paragraph is hidden. It appears when you mouse over on the title.</p>
<p> This paragraph is hidden. It appears when you mouse over on the title.</p>
<p> This paragraph is hidden. It appears when you mouse over on the title.</p>
</div>
</body>
</html>


Preview of Above HTML Code to Reveal the Contents


Mouse Over Here to Reveal Hidden text

This paragraph is hidden. It appears when you mouse over on the title.
This paragraph is hidden. It appears when you mouse over on the title.
This paragraph is hidden. It appears when you mouse over on the title.
This paragraph is hidden. It appears when you mouse over on the title.


Related Posts: