diff --git a/jquery.nivo.slider.js b/jquery.nivo.slider.js
index 19f9baf..7fa7192 100644
--- a/jquery.nivo.slider.js
+++ b/jquery.nivo.slider.js
@@ -49,30 +49,30 @@
child.css('display','none');
vars.totalSlides++;
});
-
+
// If randomStart
if(settings.randomStart){
settings.startSlide = Math.floor(Math.random() * vars.totalSlides);
}
-
+
// Set startSlide
if(settings.startSlide > 0){
if(settings.startSlide >= vars.totalSlides) { settings.startSlide = vars.totalSlides - 1; }
vars.currentSlide = settings.startSlide;
}
-
+
// Get initial image
if($(kids[vars.currentSlide]).is('img')){
vars.currentImage = $(kids[vars.currentSlide]);
} else {
vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
}
-
+
// Show initial link
if($(kids[vars.currentSlide]).is('a')){
$(kids[vars.currentSlide]).css('display','block');
}
-
+
// Set first background
var sliderImg = $('
');
sliderImg.attr('src', vars.currentImage.attr('src')).show();
@@ -89,7 +89,7 @@
//Create caption
slider.append($('
'));
-
+
// Process caption function
var processCaption = function(settings){
var nivoCaption = $('.nivo-caption', slider);
@@ -112,17 +112,17 @@
//Process initial caption
processCaption(settings);
-
+
// In the words of Super Mario "let's a go!"
var timer = 0;
if(!settings.manualAdvance && kids.length > 1){
timer = setInterval(function(){ nivoRun(slider, kids, settings, false); }, settings.pauseTime);
}
-
+
// Add Direction nav
if(settings.directionNav){
slider.append('');
-
+
// Hide Direction nav
if(settings.directionNavHide){
$('.nivo-directionNav', slider).hide();
@@ -132,7 +132,7 @@
$('.nivo-directionNav', slider).hide();
});
}
-
+
$('a.nivo-prevNav', slider).live('click', function(){
if(vars.running) { return false; }
clearInterval(timer);
@@ -140,7 +140,7 @@
vars.currentSlide -= 2;
nivoRun(slider, kids, settings, 'prev');
});
-
+
$('a.nivo-nextNav', slider).live('click', function(){
if(vars.running) { return false; }
clearInterval(timer);
@@ -148,7 +148,7 @@
nivoRun(slider, kids, settings, 'next');
});
}
-
+
// Add Control nav
if(settings.controlNav){
vars.controlNavEl = $('');
@@ -179,7 +179,7 @@
nivoRun(slider, kids, settings, 'control');
});
}
-
+
//For pauseOnHover setting
if(settings.pauseOnHover){
slider.hover(function(){
@@ -194,7 +194,7 @@
}
});
}
-
+
// Event when Animation finishes
slider.bind('nivo:animFinished', function(){
sliderImg.attr('src', vars.currentImage.attr('src'));
@@ -215,17 +215,17 @@
}
// Trigger the afterChange callback
settings.afterChange.call(this);
- });
-
+ });
+
// Add slices for slice animations
var createSlices = function(slider, settings, vars) {
- if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
+ if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
$('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
var sliceHeight = ($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().is('a')) ? $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').parent().height() : $('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height();
for(var i = 0; i < settings.slices; i++){
var sliceWidth = Math.round(slider.width()/settings.slices);
-
+
if(i === settings.slices-1){
slider.append(
$('').css({
@@ -248,21 +248,20 @@
);
}
}
-
+
$('.nivo-slice', slider).height(sliceHeight);
sliderImg.stop().animate({
height: $(vars.currentImage).height()
}, settings.animSpeed);
};
-
+
// Add boxes for box animations
var createBoxes = function(slider, settings, vars){
if($(vars.currentImage).parent().is('a')) $(vars.currentImage).parent().css('display','block');
$('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').width(slider.width()).css('visibility', 'hidden').show();
var boxWidth = Math.round(slider.width()/settings.boxCols),
boxHeight = Math.round($('img[src="'+ vars.currentImage.attr('src') +'"]', slider).not('.nivo-main-image,.nivo-control img').height() / settings.boxRows);
-
-
+
for(var rows = 0; rows < settings.boxRows; rows++){
for(var cols = 0; cols < settings.boxCols; cols++){
if(cols === settings.boxCols-1){
@@ -272,7 +271,7 @@
left:(boxWidth*cols)+'px',
top:(boxHeight*rows)+'px',
width:(slider.width()-(boxWidth*cols))+'px'
-
+
})
);
$('.nivo-box[name="'+ cols +'"]', slider).height($('.nivo-box[name="'+ cols +'"] img', slider).height()+'px');
@@ -289,22 +288,22 @@
}
}
}
-
+
sliderImg.stop().animate({
height: $(vars.currentImage).height()
}, settings.animSpeed);
};
// Private run method
- var nivoRun = function(slider, kids, settings, nudge){
+ var nivoRun = function(slider, kids, settings, nudge){
// Get our vars
var vars = slider.data('nivo:vars');
-
+
// Trigger the lastSlide callback
if(vars && (vars.currentSlide === vars.totalSlides - 1)){
settings.lastSlide.call(this);
}
-
+
// Stop
if((!vars || vars.stop) && !nudge) { return false; }
@@ -322,7 +321,7 @@
sliderImg.attr('src', vars.currentImage.attr('src'));
}
}
-
+
vars.currentSlide++;
// Trigger the slideshowEnd callback
if(vars.currentSlide === vars.totalSlides){
@@ -336,25 +335,25 @@
} else {
vars.currentImage = $(kids[vars.currentSlide]).find('img:first');
}
-
+
// Set active links
if(settings.controlNav){
$('a', vars.controlNavEl).removeClass('active');
$('a:eq('+ vars.currentSlide +')', vars.controlNavEl).addClass('active');
}
-
+
// Process caption
- processCaption(settings);
-
+ processCaption(settings);
+
// Remove any slices from last transition
$('.nivo-slice', slider).remove();
-
+
// Remove any boxes from last transition
$('.nivo-box', slider).remove();
-
+
var currentEffect = settings.effect,
anims = '';
-
+
// Generate random effect
if(settings.effect === 'random'){
anims = new Array('sliceDownRight','sliceDownLeft','sliceUpRight','sliceUpLeft','sliceUpDown','sliceUpDownLeft','fold','fade',
@@ -362,19 +361,19 @@
currentEffect = anims[Math.floor(Math.random()*(anims.length + 1))];
if(currentEffect === undefined) { currentEffect = 'fade'; }
}
-
+
// Run random effect from specified set (eg: effect:'fold,fade')
if(settings.effect.indexOf(',') !== -1){
anims = settings.effect.split(',');
currentEffect = anims[Math.floor(Math.random()*(anims.length))];
if(currentEffect === undefined) { currentEffect = 'fade'; }
}
-
+
// Custom transition as defined by "data-transition" attribute
if(vars.currentImage.attr('data-transition')){
currentEffect = vars.currentImage.attr('data-transition');
}
-
+
// Run effects
vars.running = true;
var timeBuff = 0,
@@ -383,14 +382,14 @@
firstSlice = '',
totalBoxes = '',
boxes = '';
-
+
if(currentEffect === 'sliceDown' || currentEffect === 'sliceDownRight' || currentEffect === 'sliceDownLeft'){
createSlices(slider, settings, vars);
timeBuff = 0;
i = 0;
slices = $('.nivo-slice', slider);
if(currentEffect === 'sliceDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
-
+
slices.each(function(){
var slice = $(this);
slice.css({ 'top': '0px' });
@@ -435,7 +434,7 @@
var v = 0;
slices = $('.nivo-slice', slider);
if(currentEffect === 'sliceUpDownLeft') { slices = $('.nivo-slice', slider)._reverse(); }
-
+
slices.each(function(){
var slice = $(this);
if(i === 0){
@@ -445,7 +444,7 @@
slice.css('bottom','0px');
i = 0;
}
-
+
if(v === settings.slices-1){
setTimeout(function(){
slice.animate({opacity:'1.0' }, settings.animSpeed, '', function(){ slider.trigger('nivo:animFinished'); });
@@ -462,7 +461,7 @@
createSlices(slider, settings, vars);
timeBuff = 0;
i = 0;
-
+
$('.nivo-slice', slider).each(function(){
var slice = $(this);
var origWidth = slice.width();
@@ -481,12 +480,12 @@
});
} else if(currentEffect === 'fade'){
createSlices(slider, settings, vars);
-
+
firstSlice = $('.nivo-slice:first', slider);
firstSlice.css({
'width': slider.width() + 'px'
});
-
+
firstSlice.animate({ opacity:'1.0' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
} else if(currentEffect === 'slideInRight'){
createSlices(slider, settings, vars);
@@ -500,7 +499,7 @@
firstSlice.animate({ width: slider.width() + 'px' }, (settings.animSpeed*2), '', function(){ slider.trigger('nivo:animFinished'); });
} else if(currentEffect === 'slideInLeft'){
createSlices(slider, settings, vars);
-
+
firstSlice = $('.nivo-slice:first', slider);
firstSlice.css({
'width': '0px',
@@ -519,7 +518,7 @@
});
} else if(currentEffect === 'boxRandom'){
createBoxes(slider, settings, vars);
-
+
totalBoxes = settings.boxCols * settings.boxRows;
i = 0;
timeBuff = 0;
@@ -541,11 +540,11 @@
});
} else if(currentEffect === 'boxRain' || currentEffect === 'boxRainReverse' || currentEffect === 'boxRainGrow' || currentEffect === 'boxRainGrowReverse'){
createBoxes(slider, settings, vars);
-
+
totalBoxes = settings.boxCols * settings.boxRows;
i = 0;
timeBuff = 0;
-
+
// Split boxes into 2D array
var rowIndex = 0;
var colIndex = 0;
@@ -564,7 +563,7 @@
box2Darr[rowIndex] = [];
}
});
-
+
// Run animation
for(var cols = 0; cols < (settings.boxCols * 2); cols++){
var prevCol = cols;
@@ -596,20 +595,20 @@
}
timeBuff += 100;
}
- }
+ }
};
-
+
// Shuffle an array
var shuffle = function(arr){
for(var j, x, i = arr.length; i; j = parseInt(Math.random() * i, 10), x = arr[--i], arr[i] = arr[j], arr[j] = x);
return arr;
};
-
+
// For debugging
var trace = function(msg){
if(this.console && typeof console.log !== 'undefined') { console.log(msg); }
};
-
+
// Start / Stop
this.stop = function(){
if(!$(element).data('nivo:vars').stop){
@@ -617,20 +616,20 @@
trace('Stop Slider');
}
};
-
+
this.start = function(){
if($(element).data('nivo:vars').stop){
$(element).data('nivo:vars').stop = false;
trace('Start Slider');
}
};
-
+
// Trigger the afterLoad callback
settings.afterLoad.call(this);
return this;
};
-
+
$.fn.nivoSlider = function(options) {
return this.each(function(key, value){
var element = $(this);
@@ -642,7 +641,7 @@
element.data('nivoslider', nivoslider);
});
};
-
+
//Default settings
$.fn.nivoSlider.defaults = {
effect: 'random',
@@ -669,5 +668,5 @@
};
$.fn._reverse = [].reverse;
-
-})(jQuery);
\ No newline at end of file
+
+})(jQuery);