/*
jQuery Coda-Slider v1.1 - http://www.ndoherty.com/coda-slider
Copyright (c) 2007 Niall Doherty
Inspired by the clever folks at http://www.panic.com/coda
Many thanks to Gian Carlo Mingati. Coda-Slider is a heavily modified version of his slideViewer, which can be found at http://www.gcmingati.net/wordpress/wp-content/lab/jquery/imagestrip/imageslide-plugin.html
Requirements:
- jQuery 1.2 ... available via http://www.jquery.com
- jQuery easing plugin (1.2) ... available via http://gsgd.co.uk/sandbox/jquery/easing/
- jQuery easing compatability plugin ... available via http://gsgd.co.uk/sandbox/jquery/easing/
- CSS included in index.html
*/
var _panelWidth;
var _panelCount;
var _cnt;
var _cPanel;
var _timeCount;
jQuery(function(){
jQuery("div.csw").prepend("
Loading...
");
});
jQuery.fn.codaSlider = function(settings) {
settings = jQuery.extend({
easeFunc: "expoinout",
easeTime: 750,
toolTip: false
}, settings);
return this.each(function(){
var container = jQuery(this);
// Remove the preloader gif...
container.find("p.loading").remove();
// Self-explanatory...
container.removeClass("csw").addClass("stripViewer");
// Get the width of a panel, set from CSS...
_panelWidth = container.find("div.panel").width();
// panelCount gives us a count of the panels in the container...
_panelCount = container.find("div.panel").size();
// Calculate the width of all the panels when lined up end-to-end...
var stripViewerWidth = _panelWidth*_panelCount;
// Use the above width to specify the CSS width for the panelContainer element...
container.find("div.panelContainer").css("width" , stripViewerWidth);
// Specify the current panel.
// If the loaded URL has a hash (cross-linking), we're going to use that hash to give the slider a specific starting position...
if (location.hash && parseInt(location.hash.slice(1)) <= _panelCount) {
_cPanel = parseInt(location.hash.slice(1));
_cnt = - (_panelWidth*(_cPanel - 1));
jQuery(this).find("div.panelContainer").css({ left: _cnt });
// Otherwise, we'll just set the current panel to 1...
} else {
_cPanel = 1;
};
// Left nav
jQuery("div#stripNavL a").click(function(){
_timeCount=0;
if (_cPanel == 1) {
_cnt = - (_panelWidth*(_panelCount - 1));
_cPanel = _panelCount;
} else {
_cPanel -= 1;
_cnt = - (_panelWidth*(_cPanel - 1));
};
jQuery(this).parent().parent().find("div.panelContainer").animate({ left: _cnt}, settings.easeTime, settings.easeFunc);
return false;
});
// Right nav
jQuery("div#stripNavR a").click(function(){
_timeCount=0;
if (_cPanel == _panelCount) {
_cnt = 0;
_cPanel = 1;
} else {
var _cnt = - (_panelWidth*_cPanel);
_cPanel += 1;
};
jQuery(this).parent().parent().find("div.panelContainer").animate({ left: _cnt}, settings.easeTime, settings.easeFunc);
return false;
});
}); //ende return this.each()
}; //ende jQuery.fn.codaSlider()
jQuery.fn.animateSlide = function(settings) {
//console.log("timer start");
_timeCount=0;
settings = jQuery.extend({
easeFunc: "expoinout",
easeTime: 750,
toolTip: false
}, settings);
var interv = setInterval(function(){
//console.log(_timeCount);
if(_timeCount == 7){
_timeCount = 0;
if (_cPanel == _panelCount) {
_cnt = 0;
_cPanel = 1;
} else {
var _cnt = - (_panelWidth*_cPanel);
_cPanel += 1;
};
jQuery(this).find("div.panelContainer").animate({ left: _cnt}, settings.easeTime, settings.easeFunc);
}
else{
_timeCount++;
}
}, 1000);
};