53 lines
1.3 KiB
JavaScript
53 lines
1.3 KiB
JavaScript
$(document).ready(function(){
|
|
/* This code is executed after the DOM has been completely loaded */
|
|
|
|
var totWidth=0;
|
|
var positions = new Array();
|
|
|
|
$('#slides .slide').each(function(i){
|
|
|
|
/* Traverse through all the slides and store their accumulative widths in totWidth */
|
|
|
|
positions[i]= totWidth;
|
|
totWidth += $(this).width();
|
|
|
|
/* The positions array contains each slide's commulutative offset from the left part of the container */
|
|
|
|
if(!$(this).width())
|
|
{
|
|
alert("Please, fill in width & height for all your images!");
|
|
return false;
|
|
}
|
|
|
|
});
|
|
|
|
$('#slides').width(totWidth);
|
|
|
|
/* Change the cotnainer div's width to the exact width of all the slides combined */
|
|
|
|
$('#menu ul li a').click(function(e,keepScroll){
|
|
|
|
/* On a thumbnail click */
|
|
|
|
$('li.menuItem').removeClass('act').addClass('inact');
|
|
$(this).parent().addClass('act');
|
|
|
|
var pos = $(this).parent().prevAll('.menuItem').length;
|
|
|
|
$('#slides').stop().animate({marginLeft:-positions[pos]+'px'},450);
|
|
/* Start the sliding animation */
|
|
|
|
e.preventDefault();
|
|
/* Prevent the default action of the link */
|
|
|
|
|
|
// Stopping the auto-advance if an icon has been clicked:
|
|
if(!keepScroll) clearInterval(itvl);
|
|
});
|
|
|
|
$('#menu ul li.menuItem:first').addClass('act').siblings().addClass('inact');
|
|
/* On page load, mark the first thumbnail as active */
|
|
|
|
|
|
|
|
}); |