الاثنين، 17 نوفمبر 2014

How to Add Multiple Slideshows on One Page Using Javascript


Most of our visitors asked "How to Add Multiple Slideshows on One Page Using JavaScript" by commenting on different previous posts for JavaScript slideshow and going to write this post about to add multiple slideshows on the same page. Using this script you can add number of slideshows on single page as your requirements. 


Multiple Slideshows on One Page Using JavaScript



To make multiple slideshows, at first you have to make variable lists for each slideshows and have to create new slideshow using function slideshow( ). Here I have created two slideshows with variables SlideList1 and SlideList2 and uses function slideshow with parameters slideList, image, speed and name.

You can create number of new slideshows using this function below using new keyword. i.e. var slideshow1=new slideshow(slideList1, 'slide1', 3000, 'slideshow1');

function SlideShow(slideList, image, speed, name)          
{
this.slideList = slideList;
this.image = image;
this.speed = speed;
this.name = name;
this.current = 0;
this.timer = 0;
}

And the another function switchImage( ) given below allows you to  change images while playing slideshows.

function switchImage(imgName, imgSrc) 
{
if (document.images)
{
if (imgSrc != "none")
{
document.images[imgName].src = imgSrc;
}
}
}

Here is a full JavaScript code for making multiple slideshows on one page using JavaScript. Copy the following codes inside body tag of your HTML file and replace given image source <img src=" "> with your image source.


<img src="image1.gif" name="slide1">
<img src="image2.gif" name="slide2">
<script type=text/javascript>
var SlideList1 = ['image1.gif', 'image2.gif', 'image3.gif'];
var SlideShow1 = new SlideShow(SlideList1, 'slide1', 3000, "SlideShow1");
var SlideList2 = ['image4.gif', 'image5.gif', 'image6.gif'];
var SlideShow2 = new SlideShow(SlideList2, 'slide2', 1000, "SlideShow2");
function SlideShow(slideList, image, speed, name)
{
this.slideList = slideList;
this.image = image;
this.speed = speed;
this.name = name;
this.current = 0;
this.timer = 0;
}
function switchImage(imgName, imgSrc)
{
if (document.images)
{
if (imgSrc != "none")
{
document.images[imgName].src = imgSrc;
}
}
}
SlideShow.prototype.play = SlideShow_play;
function SlideShow_play()
{
with(this)
{
if(current++ == slideList.length-1) current = 0;
switchImage(image, slideList[current]);
clearTimeout(timer);
timer = setTimeout(name+'.play()', speed);
}
}
window.onLoad=SlideShow1.play();SlideShow2.play();
</script>


Here the speed of first and second slideshows are specified 3000 and 1000 respectively, your can change them as your requirements. Also you can add more slideshows by adding more slideList and slideshow variables.


Preview of  JavaScript Code Given Above



slide1

slide2



You can add custom CSS codes to give different styles like setting border using border: property, give rounded corners using border-radius property as presented in the previous post "How to make rounded corners border using CSS" and can give different animation effects like fade effects, zoom effects, slide effects etc. 

You can refer to the following previous posts to give fade effect animations using CSS, JavaScript or JQuery codes.



Related Posts:






الخميس، 13 نوفمبر 2014

How to create fade effect image slideshow using CSS


You can give fade effect animation for image slideshow using CSS. @keyframes 'at' rule and animation keyword in CSS can be used to make image slideshow with fade effect. With @keyframes 'at' rule, you can define the properties that will be animated in an animation rule and animation keyword to set all of the animation properties.


Here I have used different types of animation properties like animation-name, animation-duration, animation-timing-function and animation-iteration-count. Where animation-name specifies name of the animation, animation-duration specifies animation duration in second(s) or milisecond(ms), animation-timing-function specifies how the animation will play like ease, ease-in, ease-in-out, ease-out and linear and animation-iteration-count:number of times animation should play.

Simple fade effect image slideshow 

 
Here is a sample CSS code for creating simple fade effect image slideshow written for safari browser.

<style type="text/css">
@-webkit-keyframes fade{
from {opacity:.5;}
50% {opacity:1;}
to {opacity:.5;}
}
#anim1 {-webkit-animation-name:fade;-webkit-animation-duration:5s;
-webkit-animation-iteration-timing-function:linear;
position:relative;-webkit-animation-iteration-count:infinite;}
</style>

Here is a full HTML code along with required JavaScript code for creating simple fade effect image slideshow.

<head>
<title>CSS Animations</title>
<style type="text/css">
@-webkit-keyframes fade{
from {opacity:.5;}
50% {opacity:1;}
to {opacity:.5;}
}
@-moz-keyframes fade{
from {opacity:.5;}
50% {opacity:1;}
to {opacity:.5;}
}
@-o-keyframes fade{
from {opacity:.5;}
50% {opacity:1;}
to {opacity:.5;}
}
@-ms-keyframes fade{
from {opacity:.5;}
50% {opacity:1;}
to {opacity:.5;}
}
#anim1 {-webkit-animation-name:fade;-webkit-animation-duration:5s;
-webkit-animation-iteration-timing-function:linear;position:relative;
-webkit-animation-iteration-count:infinite;-moz-animation-name:fade;
-moz-animation-duration:5s;-moz-animation-iteration-timing-function:linear;
-moz-animation-iteration-count:infinite;-o-animation-name:fade;
-o-animation-duration:5s;-o-animation-iteration-timing-function:linear;
-o-animation-iteration-count:infinite;-ms-animation-name:fade;
-ms-animation-duration:5s;-ms-animation-iteration-timing-function:linear;
-ms-animation-iteration-count:infinite;}
</style>
<script language="JavaScript">
var i = 0;
var path = new Array();

// LIST OF IMAGES
path[0] = "image1.jpg";
path[1] = "image2.jpg";
path[2] = "image3.jpg";

function swapImage1()
{
document.slide.src = path[i];
if(i < path.length - 1) i++; else i = 0;
setTimeout("swapImage1()",5000);
}
window.onload=swapImage1;
</script>
</head>
<body>
<div id="anim1"><img height="400" name="slide" src="image_1.gif" width="600" />
</div>
</body>
</html>


In the above code prefixes -webkit-, -moz-, -o-, -ms- are used for browsers safari, firefox, opera and internet explorer respectively.

Here is a preview of image slideshow for the code above.


slide


Fade effect image slideshow with caption


You can add caption for this slideshow by adding following JavaScript codes within <script> tag.


// LIST OF CAPTİONS  

caption[0] = "Caption for the first image";

caption[1] = "Caption for the second image";

caption[2] = "Caption for the third image";

function swapImage(){

var el = document.getElementById("mydiv");

el.innerHTML=caption[i];

var img= document.getElementById("anim1");

img.src= image[i];

if(i <k ) { i++;}

else { i = 0; }



For details on adding caption on image slideshow visit the post: How To Create Simple Image Slideshow Using JavaScript ?


Fade effect image slideshow with caption and link


You can add caption for this slideshow by adding following JavaScript codes within <script> tag.



var link= new Array();   

link[0] = "http://www.siteforinfotech.com/";
link[1] = "http://www.siteforinfotech.com/p/tutorial.html";
link[2] = "http://www.siteforinfotech.com/p/mcqs.html";


function swapImage(){

var el = document.getElementById("mydiv");

el.innerHTML=caption[i];

var img= document.getElementById("anim1");

img.src= image[i];

var a = document.getElementById("link");
a.href= link[i];

if(i <k ) { i++;}

else { i = 0; }



For details on adding caption and link on image slideshow visit the post: How to Create JavaScript Image Slideshow with Links



Related Posts:

الثلاثاء، 4 نوفمبر 2014

How to make rounded corners border using CSS


While designing website, website template or blog template, you may want to make buttons, menus, paragraphs or any others border corners rounded to make your template more beautiful and attractive. It is possible by using a keyword "border-radius" in CSS. The keyword border-radius is used to make all the corners rounded by specifying the radius of corner. For example you can use the following CSS code.
rounded corners border using CSS

border-radius:10px;                    // makes radius of all the corners 10px;

You can also specify the radius for each corners by using border-radius-top-right, border-radius-top-left, border-radius-bottom-right, border-radius-bottom-left keywords. For example you can use the following CSS code to make each corner rounded.

border-radius-top-right:10px;
border-radius-top-left:10px;
border-radius-bottom-right:5px;
border-radius-bottom-left:5px;

The above code makes radius of left and right corners of top side 10px and radius of left and right corners of bottom side 5px.

To makes this CSS code browser specific or specific browser compatible, you have to use the prefix codes like -moz- for mozilla firefox and -webkit- for chrome or safari.


.all{

border:2px solid red;

-moz-border-radius:10px;

-webkit-border-radius:10px;

border-radius:10px;

width:250px;

}

.topleft{

border:2px solid red;

-moz-border-top-left-radius:10px;

-webkit-border-top-left-radius:10px;

border-top-left-radius:10px;

width:250px;

}

.topright{

border:2px solid red;

-moz-border-top-right-radius:10px;

-webkit-border-top-right-radius:10px;

border-top-right-radius:10px;

width:250px;

}

.bottomleft{

border:2px solid red;

-moz-border-bottom-left-radius:10px;

-webkit-border-top-left-radius:10px;

border-bottom-left-radius:10px;

width:250px;

}

.bottomright{

border:2px solid red;

-moz-border-bottom-right-radius:10px;

-webkit-border-bottom-right-radius:10px;

border-bottom-right-radius:10px;

width:250px;

}


Use above CSS code with the following HTML code given.

<html>
<head>
<title>CSS code for rounded corners</title>
<style type="text/css">

//place the abobe CSS code

</style>
</head>
<body>
<div class="all">All rounded corners</div>
</br>
<div class="topleft">Topleft rounded corner</div>
<br/>
<div class="topright">Topright rounded corner</div>
</br>
<div class="bottomleft">Bottomleft rounded corner</div>
<br/>
<div class="bottomright">Bottomright rounded corner</div>
</body>
</html>

You can view the following rounded corners for 2px solid red border and 250px width having 10px radius of corners.


All rounded corners

Topleft rounded corner

Topright rounded corner

Bottomleft rounded corner

Bottomright rounded corner


Here I have used <div> tag, so these shapes are appeared with line break. If you wanted to place these shapes on the same line you can use <span> tag. You can also use <p> tag with the place of <div> tag.

You can apply these rounded corners shapes to make CSS buttons, menus etc. Here is a sample code to make CSS button along with background color.

<div style="border:2px solid light-blue; -moz-border-radius:10px;
background-color:blue; z-index:10;-webkit-border-radius:10px;
border-radius:10px;width:110px;text-align:center;
color:white;cursor:pointer;">
CSS button
</div>




Related Posts: