|
@@ -1,23 +1,29 @@
|
|
/*
|
|
/*
|
|
- * jQuery FlexSlider v2.5.0
|
|
|
|
|
|
+ * jQuery FlexSlider v2.7.1
|
|
* Copyright 2012 WooThemes
|
|
* Copyright 2012 WooThemes
|
|
* Contributing Author: Tyler Smith
|
|
* Contributing Author: Tyler Smith
|
|
*/
|
|
*/
|
|
;
|
|
;
|
|
(function ($) {
|
|
(function ($) {
|
|
|
|
|
|
|
|
+ var focused = true;
|
|
|
|
+
|
|
//FlexSlider: Object Instance
|
|
//FlexSlider: Object Instance
|
|
$.flexslider = function(el, options) {
|
|
$.flexslider = function(el, options) {
|
|
var slider = $(el);
|
|
var slider = $(el);
|
|
|
|
|
|
// making variables public
|
|
// making variables public
|
|
|
|
+
|
|
|
|
+ //if rtl value was not passed and html is in rtl..enable it by default.
|
|
|
|
+ if(typeof options.rtl=='undefined' && $('html').attr('dir')=='rtl'){
|
|
|
|
+ options.rtl=true;
|
|
|
|
+ }
|
|
slider.vars = $.extend({}, $.flexslider.defaults, options);
|
|
slider.vars = $.extend({}, $.flexslider.defaults, options);
|
|
|
|
|
|
var namespace = slider.vars.namespace,
|
|
var namespace = slider.vars.namespace,
|
|
msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
|
|
msGesture = window.navigator && window.navigator.msPointerEnabled && window.MSGesture,
|
|
touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
|
|
touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
|
|
- // depricating this idea, as devices are being released with both of these events
|
|
|
|
- //eventType = (touch) ? "touchend" : "click",
|
|
|
|
|
|
+ // deprecating this idea, as devices are being released with both of these events
|
|
eventType = "click touchend MSPointerUp keyup",
|
|
eventType = "click touchend MSPointerUp keyup",
|
|
watchedEvent = "",
|
|
watchedEvent = "",
|
|
watchedEventClearTimer,
|
|
watchedEventClearTimer,
|
|
@@ -26,8 +32,7 @@
|
|
carousel = (slider.vars.itemWidth > 0),
|
|
carousel = (slider.vars.itemWidth > 0),
|
|
fade = slider.vars.animation === "fade",
|
|
fade = slider.vars.animation === "fade",
|
|
asNav = slider.vars.asNavFor !== "",
|
|
asNav = slider.vars.asNavFor !== "",
|
|
- methods = {},
|
|
|
|
- focused = true;
|
|
|
|
|
|
+ methods = {};
|
|
|
|
|
|
// Store a reference to the slider object
|
|
// Store a reference to the slider object
|
|
$.data(el, "flexslider", slider);
|
|
$.data(el, "flexslider", slider);
|
|
@@ -49,7 +54,7 @@
|
|
slider.syncExists = $(slider.vars.sync).length > 0;
|
|
slider.syncExists = $(slider.vars.sync).length > 0;
|
|
// SLIDE:
|
|
// SLIDE:
|
|
if (slider.vars.animation === "slide") { slider.vars.animation = "swing"; }
|
|
if (slider.vars.animation === "slide") { slider.vars.animation = "swing"; }
|
|
- slider.prop = (vertical) ? "top" : "marginLeft";
|
|
|
|
|
|
+ slider.prop = (vertical) ? "top" : ( slider.vars.rtl ? "marginRight" : "marginLeft" );
|
|
slider.args = {};
|
|
slider.args = {};
|
|
// SLIDESHOW:
|
|
// SLIDESHOW:
|
|
slider.manualPause = false;
|
|
slider.manualPause = false;
|
|
@@ -70,6 +75,7 @@
|
|
}
|
|
}
|
|
return false;
|
|
return false;
|
|
}());
|
|
}());
|
|
|
|
+ slider.isFirefox = navigator.userAgent.toLowerCase().indexOf('firefox') > -1;
|
|
slider.ensureAnimationEnd = '';
|
|
slider.ensureAnimationEnd = '';
|
|
// CONTROLSCONTAINER:
|
|
// CONTROLSCONTAINER:
|
|
if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
|
|
if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
|
|
@@ -101,8 +107,14 @@
|
|
$(document).bind('keyup', function(event) {
|
|
$(document).bind('keyup', function(event) {
|
|
var keycode = event.keyCode;
|
|
var keycode = event.keyCode;
|
|
if (!slider.animating && (keycode === 39 || keycode === 37)) {
|
|
if (!slider.animating && (keycode === 39 || keycode === 37)) {
|
|
- var target = (keycode === 39) ? slider.getTarget('next') :
|
|
|
|
- (keycode === 37) ? slider.getTarget('prev') : false;
|
|
|
|
|
|
+ var target = (slider.vars.rtl?
|
|
|
|
+ ((keycode === 37) ? slider.getTarget('next') :
|
|
|
|
+ (keycode === 39) ? slider.getTarget('prev') : false)
|
|
|
|
+ :
|
|
|
|
+ ((keycode === 39) ? slider.getTarget('next') :
|
|
|
|
+ (keycode === 37) ? slider.getTarget('prev') : false)
|
|
|
|
+ )
|
|
|
|
+ ;
|
|
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
|
slider.flexAnimate(target, slider.vars.pauseOnAction);
|
|
}
|
|
}
|
|
});
|
|
});
|
|
@@ -165,8 +177,15 @@
|
|
e.preventDefault();
|
|
e.preventDefault();
|
|
var $slide = $(this),
|
|
var $slide = $(this),
|
|
target = $slide.index();
|
|
target = $slide.index();
|
|
- var posFromLeft = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
|
|
|
|
- if( posFromLeft <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
|
|
|
|
|
|
+ var posFromX;
|
|
|
|
+ if(slider.vars.rtl){
|
|
|
|
+ posFromX = -1*($slide.offset().right - $(slider).scrollLeft()); // Find position of slide relative to right of slider container
|
|
|
|
+ }
|
|
|
|
+ else
|
|
|
|
+ {
|
|
|
|
+ posFromX = $slide.offset().left - $(slider).scrollLeft(); // Find position of slide relative to left of slider container
|
|
|
|
+ }
|
|
|
|
+ if( posFromX <= 0 && $slide.hasClass( namespace + 'active-slide' ) ) {
|
|
slider.flexAnimate(slider.getTarget("prev"), true);
|
|
slider.flexAnimate(slider.getTarget("prev"), true);
|
|
} else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
|
|
} else if (!$(slider.vars.asNavFor).data('flexslider').animating && !$slide.hasClass(namespace + "active-slide")) {
|
|
slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
|
slider.direction = (slider.currentItem < target) ? "next" : "prev";
|
|
@@ -217,7 +236,9 @@
|
|
if (slider.pagingCount > 1) {
|
|
if (slider.pagingCount > 1) {
|
|
for (var i = 0; i < slider.pagingCount; i++) {
|
|
for (var i = 0; i < slider.pagingCount; i++) {
|
|
slide = slider.slides.eq(i);
|
|
slide = slider.slides.eq(i);
|
|
- item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"/>' : '<a>' + j + '</a>';
|
|
|
|
|
|
+ if ( undefined === slide.attr( 'data-thumb-alt' ) ) { slide.attr( 'data-thumb-alt', '' ); }
|
|
|
|
+ var altText = ( '' !== slide.attr( 'data-thumb-alt' ) ) ? altText = ' alt="' + slide.attr( 'data-thumb-alt' ) + '"' : '';
|
|
|
|
+ item = (slider.vars.controlNav === "thumbnails") ? '<img src="' + slide.attr( 'data-thumb' ) + '"' + altText + '/>' : '<a href="#">' + j + '</a>';
|
|
if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
|
|
if ( 'thumbnails' === slider.vars.controlNav && true === slider.vars.thumbCaptions ) {
|
|
var captn = slide.attr( 'data-thumbcaption' );
|
|
var captn = slide.attr( 'data-thumbcaption' );
|
|
if ( '' !== captn && undefined !== captn ) { item += '<span class="' + namespace + 'caption">' + captn + '</span>'; }
|
|
if ( '' !== captn && undefined !== captn ) { item += '<span class="' + namespace + 'caption">' + captn + '</span>'; }
|
|
@@ -287,7 +308,7 @@
|
|
},
|
|
},
|
|
update: function(action, pos) {
|
|
update: function(action, pos) {
|
|
if (slider.pagingCount > 1 && action === "add") {
|
|
if (slider.pagingCount > 1 && action === "add") {
|
|
- slider.controlNavScaffold.append($('<li><a>' + slider.count + '</a></li>'));
|
|
|
|
|
|
+ slider.controlNavScaffold.append($('<li><a href="#">' + slider.count + '</a></li>'));
|
|
} else if (slider.pagingCount === 1) {
|
|
} else if (slider.pagingCount === 1) {
|
|
slider.controlNavScaffold.find('li').remove();
|
|
slider.controlNavScaffold.find('li').remove();
|
|
} else {
|
|
} else {
|
|
@@ -350,7 +371,7 @@
|
|
},
|
|
},
|
|
pausePlay: {
|
|
pausePlay: {
|
|
setup: function() {
|
|
setup: function() {
|
|
- var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a></a></div>');
|
|
|
|
|
|
+ var pausePlayScaffold = $('<div class="' + namespace + 'pauseplay"><a href="#"></a></div>');
|
|
|
|
|
|
// CONTROLSCONTAINER:
|
|
// CONTROLSCONTAINER:
|
|
if (slider.controlsContainer) {
|
|
if (slider.controlsContainer) {
|
|
@@ -426,7 +447,6 @@
|
|
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
|
|
(reverse) ? (slider.last - slider.currentSlide + slider.cloneOffset) * cwidth : (slider.currentSlide + slider.cloneOffset) * cwidth;
|
|
startX = (vertical) ? localY : localX;
|
|
startX = (vertical) ? localY : localX;
|
|
startY = (vertical) ? localX : localY;
|
|
startY = (vertical) ? localX : localY;
|
|
-
|
|
|
|
el.addEventListener('touchmove', onTouchMove, false);
|
|
el.addEventListener('touchmove', onTouchMove, false);
|
|
el.addEventListener('touchend', onTouchEnd, false);
|
|
el.addEventListener('touchend', onTouchEnd, false);
|
|
}
|
|
}
|
|
@@ -438,9 +458,8 @@
|
|
localX = e.touches[0].pageX;
|
|
localX = e.touches[0].pageX;
|
|
localY = e.touches[0].pageY;
|
|
localY = e.touches[0].pageY;
|
|
|
|
|
|
- dx = (vertical) ? startX - localY : startX - localX;
|
|
|
|
|
|
+ dx = (vertical) ? startX - localY : (slider.vars.rtl?-1:1)*(startX - localX);
|
|
scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
|
|
scrolling = (vertical) ? (Math.abs(dx) < Math.abs(localX - startY)) : (Math.abs(dx) < Math.abs(localY - startY));
|
|
-
|
|
|
|
var fxms = 500;
|
|
var fxms = 500;
|
|
|
|
|
|
if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
|
|
if ( ! scrolling || Number( new Date() ) - startT > fxms ) {
|
|
@@ -517,7 +536,7 @@
|
|
|
|
|
|
//Accumulate translations.
|
|
//Accumulate translations.
|
|
accDx = accDx + ((vertical) ? transY : transX);
|
|
accDx = accDx + ((vertical) ? transY : transX);
|
|
- dx = accDx;
|
|
|
|
|
|
+ dx = (slider.vars.rtl?-1:1)*accDx;
|
|
scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
|
|
scrolling = (vertical) ? (Math.abs(accDx) < Math.abs(-transX)) : (Math.abs(accDx) < Math.abs(-transY));
|
|
|
|
|
|
if(e.detail === e.MSGESTURE_FLAG_INERTIA){
|
|
if(e.detail === e.MSGESTURE_FLAG_INERTIA){
|
|
@@ -590,7 +609,7 @@
|
|
smoothHeight: function(dur) {
|
|
smoothHeight: function(dur) {
|
|
if (!vertical || fade) {
|
|
if (!vertical || fade) {
|
|
var $obj = (fade) ? slider : slider.viewport;
|
|
var $obj = (fade) ? slider : slider.viewport;
|
|
- (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).height()}, dur) : $obj.height(slider.slides.eq(slider.animatingTo).height());
|
|
|
|
|
|
+ (dur) ? $obj.animate({"height": slider.slides.eq(slider.animatingTo).innerHeight()}, dur) : $obj.innerHeight(slider.slides.eq(slider.animatingTo).innerHeight());
|
|
}
|
|
}
|
|
},
|
|
},
|
|
sync: function(action) {
|
|
sync: function(action) {
|
|
@@ -737,7 +756,6 @@
|
|
|
|
|
|
// INFINITE LOOP / REVERSE:
|
|
// INFINITE LOOP / REVERSE:
|
|
if (carousel) {
|
|
if (carousel) {
|
|
- //margin = (slider.vars.itemWidth > slider.w) ? slider.vars.itemMargin * 2 : slider.vars.itemMargin;
|
|
|
|
margin = slider.vars.itemMargin;
|
|
margin = slider.vars.itemMargin;
|
|
calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
|
|
calcNext = ((slider.itemW + margin) * slider.move) * slider.animatingTo;
|
|
slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
|
|
slideString = (calcNext > slider.limit && slider.visible !== 1) ? slider.limit : calcNext;
|
|
@@ -775,12 +793,8 @@
|
|
}
|
|
}
|
|
} else { // FADE:
|
|
} else { // FADE:
|
|
if (!touch) {
|
|
if (!touch) {
|
|
- //slider.slides.eq(slider.currentSlide).fadeOut(slider.vars.animationSpeed, slider.vars.easing);
|
|
|
|
- //slider.slides.eq(target).fadeIn(slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
|
|
|
|
-
|
|
|
|
slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
|
|
slider.slides.eq(slider.currentSlide).css({"zIndex": 1}).animate({"opacity": 0}, slider.vars.animationSpeed, slider.vars.easing);
|
|
slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
|
|
slider.slides.eq(target).css({"zIndex": 2}).animate({"opacity": 1}, slider.vars.animationSpeed, slider.vars.easing, slider.wrapup);
|
|
-
|
|
|
|
} else {
|
|
} else {
|
|
slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
|
|
slider.slides.eq(slider.currentSlide).css({ "opacity": 0, "zIndex": 1 });
|
|
slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
|
|
slider.slides.eq(target).css({ "opacity": 1, "zIndex": 2 });
|
|
@@ -877,11 +891,15 @@
|
|
}
|
|
}
|
|
}());
|
|
}());
|
|
|
|
|
|
- return (posCalc * -1) + "px";
|
|
|
|
|
|
+ return (posCalc * ((slider.vars.rtl)?1:-1)) + "px";
|
|
}());
|
|
}());
|
|
|
|
|
|
if (slider.transitions) {
|
|
if (slider.transitions) {
|
|
- target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + target + ",0,0)";
|
|
|
|
|
|
+ if (slider.isFirefox) {
|
|
|
|
+ target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + (parseInt(target)+'px') + ",0,0)";
|
|
|
|
+ } else {
|
|
|
|
+ target = (vertical) ? "translate3d(0," + target + ",0)" : "translate3d(" + ((slider.vars.rtl?-1:1)*parseInt(target)+'px') + ",0,0)";
|
|
|
|
+ }
|
|
dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
|
|
dur = (dur !== undefined) ? (dur/1000) + "s" : "0s";
|
|
slider.container.css("-" + slider.pfx + "-transition-duration", dur);
|
|
slider.container.css("-" + slider.pfx + "-transition-duration", dur);
|
|
slider.container.css("transition-duration", dur);
|
|
slider.container.css("transition-duration", dur);
|
|
@@ -936,13 +954,28 @@
|
|
slider.setProps(sliderOffset * slider.computedW, "init");
|
|
slider.setProps(sliderOffset * slider.computedW, "init");
|
|
setTimeout(function(){
|
|
setTimeout(function(){
|
|
slider.doMath();
|
|
slider.doMath();
|
|
- slider.newSlides.css({"width": slider.computedW, "float": "left", "display": "block"});
|
|
|
|
|
|
+ if(slider.vars.rtl){
|
|
|
|
+ if (slider.isFirefox) {
|
|
|
|
+ slider.newSlides.css({"width": slider.computedW, "marginRight" : slider.computedM, "float": "right", "display": "block"});
|
|
|
|
+ } else {
|
|
|
|
+ slider.newSlides.css({"width": slider.computedW, "marginRight" : slider.computedM, "float": "left", "display": "block"});
|
|
|
|
+ }
|
|
|
|
+
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ slider.newSlides.css({"width": slider.computedW, "marginRight" : slider.computedM, "float": "left", "display": "block"});
|
|
|
|
+ }
|
|
// SMOOTH HEIGHT:
|
|
// SMOOTH HEIGHT:
|
|
if (slider.vars.smoothHeight) { methods.smoothHeight(); }
|
|
if (slider.vars.smoothHeight) { methods.smoothHeight(); }
|
|
}, (type === "init") ? 100 : 0);
|
|
}, (type === "init") ? 100 : 0);
|
|
}
|
|
}
|
|
} else { // FADE:
|
|
} else { // FADE:
|
|
- slider.slides.css({"width": "100%", "float": "left", "marginRight": "-100%", "position": "relative"});
|
|
|
|
|
|
+ if(slider.vars.rtl){
|
|
|
|
+ slider.slides.css({"width": "100%", "float": 'right', "marginLeft": "-100%", "position": "relative"});
|
|
|
|
+ }
|
|
|
|
+ else{
|
|
|
|
+ slider.slides.css({"width": "100%", "float": 'left', "marginRight": "-100%", "position": "relative"});
|
|
|
|
+ }
|
|
if (type === "init") {
|
|
if (type === "init") {
|
|
if (!touch) {
|
|
if (!touch) {
|
|
//slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
|
|
//slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
|
|
@@ -973,12 +1006,14 @@
|
|
maxItems = slider.vars.maxItems;
|
|
maxItems = slider.vars.maxItems;
|
|
|
|
|
|
slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
|
|
slider.w = (slider.viewport===undefined) ? slider.width() : slider.viewport.width();
|
|
|
|
+ if (slider.isFirefox) { slider.w = slider.width(); }
|
|
slider.h = slide.height();
|
|
slider.h = slide.height();
|
|
slider.boxPadding = slide.outerWidth() - slide.width();
|
|
slider.boxPadding = slide.outerWidth() - slide.width();
|
|
|
|
|
|
// CAROUSEL:
|
|
// CAROUSEL:
|
|
if (carousel) {
|
|
if (carousel) {
|
|
slider.itemT = slider.vars.itemWidth + slideMargin;
|
|
slider.itemT = slider.vars.itemWidth + slideMargin;
|
|
|
|
+ slider.itemM = slideMargin;
|
|
slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
|
|
slider.minW = (minItems) ? minItems * slider.itemT : slider.w;
|
|
slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
|
|
slider.maxW = (maxItems) ? (maxItems * slider.itemT) - slideMargin : slider.w;
|
|
slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
|
|
slider.itemW = (slider.minW > slider.w) ? (slider.w - (slideMargin * (minItems - 1)))/minItems :
|
|
@@ -993,10 +1028,12 @@
|
|
(slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
|
|
(slider.vars.itemWidth > slider.w) ? (slider.itemW * (slider.count - 1)) + (slideMargin * (slider.count - 1)) : ((slider.itemW + slideMargin) * slider.count) - slider.w - slideMargin;
|
|
} else {
|
|
} else {
|
|
slider.itemW = slider.w;
|
|
slider.itemW = slider.w;
|
|
|
|
+ slider.itemM = slideMargin;
|
|
slider.pagingCount = slider.count;
|
|
slider.pagingCount = slider.count;
|
|
slider.last = slider.count - 1;
|
|
slider.last = slider.count - 1;
|
|
}
|
|
}
|
|
slider.computedW = slider.itemW - slider.boxPadding;
|
|
slider.computedW = slider.itemW - slider.boxPadding;
|
|
|
|
+ slider.computedM = slider.itemM;
|
|
};
|
|
};
|
|
|
|
|
|
slider.update = function(pos, action) {
|
|
slider.update = function(pos, action) {
|
|
@@ -1113,7 +1150,7 @@
|
|
// Usability features
|
|
// Usability features
|
|
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
|
pauseOnAction: true, //Boolean: Pause the slideshow when interacting with control elements, highly recommended.
|
|
pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
|
pauseOnHover: false, //Boolean: Pause the slideshow when hovering over slider, then resume when no longer hovering
|
|
- pauseInvisible: true, //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
|
|
|
|
|
|
+ pauseInvisible: true, //{NEW} Boolean: Pause the slideshow when tab is invisible, resume when visible. Provides better UX, lower CPU usage.
|
|
useCSS: true, //{NEW} Boolean: Slider will use CSS3 transitions if available
|
|
useCSS: true, //{NEW} Boolean: Slider will use CSS3 transitions if available
|
|
touch: true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
|
|
touch: true, //{NEW} Boolean: Allow touch swipe navigation of the slider on touch-enabled devices
|
|
video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
|
|
video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
|
|
@@ -1147,6 +1184,9 @@
|
|
move: 0, //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
|
|
move: 0, //{NEW} Integer: Number of carousel items that should move on animation. If 0, slider will move all visible items.
|
|
allowOneSlide: true, //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
|
|
allowOneSlide: true, //{NEW} Boolean: Whether or not to allow a slider comprised of a single slide
|
|
|
|
|
|
|
|
+ // Browser Specific
|
|
|
|
+ isFirefox: false, // {NEW} Boolean: Set to true when Firefox is the browser used.
|
|
|
|
+
|
|
// Callback API
|
|
// Callback API
|
|
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
|
start: function(){}, //Callback: function(slider) - Fires when the slider loads the first slide
|
|
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
|
before: function(){}, //Callback: function(slider) - Fires asynchronously with each slider animation
|
|
@@ -1154,7 +1194,8 @@
|
|
end: function(){}, //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
|
end: function(){}, //Callback: function(slider) - Fires when the slider reaches the last slide (asynchronous)
|
|
added: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is added
|
|
added: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is added
|
|
removed: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is removed
|
|
removed: function(){}, //{NEW} Callback: function(slider) - Fires after a slide is removed
|
|
- init: function() {} //{NEW} Callback: function(slider) - Fires after the slider is initially setup
|
|
|
|
|
|
+ init: function() {}, //{NEW} Callback: function(slider) - Fires after the slider is initially setup
|
|
|
|
+ rtl: false //{NEW} Boolean: Whether or not to enable RTL mode
|
|
};
|
|
};
|
|
|
|
|
|
//FlexSlider: Plugin Function
|
|
//FlexSlider: Plugin Function
|
|
@@ -1167,7 +1208,7 @@
|
|
selector = (options.selector) ? options.selector : ".slides > li",
|
|
selector = (options.selector) ? options.selector : ".slides > li",
|
|
$slides = $this.find(selector);
|
|
$slides = $this.find(selector);
|
|
|
|
|
|
- if ( ( $slides.length === 1 && options.allowOneSlide === true ) || $slides.length === 0 ) {
|
|
|
|
|
|
+ if ( ( $slides.length === 1 && options.allowOneSlide === false ) || $slides.length === 0 ) {
|
|
$slides.fadeIn(400);
|
|
$slides.fadeIn(400);
|
|
if (options.start) { options.start($this); }
|
|
if (options.start) { options.start($this); }
|
|
} else if ($this.data('flexslider') === undefined) {
|
|
} else if ($this.data('flexslider') === undefined) {
|