Skip to content

Commit 5ef851d

Browse files
committed
FlexSlider 2.3.0
1 parent 75cf6fb commit 5ef851d

File tree

7 files changed

+69
-26
lines changed

7 files changed

+69
-26
lines changed

FlexSlider_2.2.2/CHANGES.htm renamed to FlexSlider_2.3.0/CHANGES.htm

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,8 @@
11
<ol>
2+
<li>
3+
<h6>Version 2.3.0</h6>
4+
<p>Fix for pauseInvisible attribute for Chrome and the Page Visibility API.</p>
5+
</li>
26
<li>
37
<h6>Version 2.2.2</h6>
48
<p>Fixes minified JavaScript file to remove merge conflicts.</p>

FlexSlider_2.2.2/FlexSlider.dnn renamed to FlexSlider_2.3.0/FlexSlider.dnn

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
<dotnetnuke type="Package" version="5.0">
22
<packages>
3-
<package name="FlexSlider" type="JavaScript_Library" version="02.02.02">
3+
<package name="FlexSlider" type="JavaScript_Library" version="02.03.00">
44
<friendlyName>FlexSlider JavaScript Library</friendlyName>
55
<description>An awesome, fully responsive jQuery slider toolkit.</description>
66
<owner>
@@ -21,7 +21,7 @@
2121
<libraryName>FlexSlider</libraryName>
2222
<fileName>jquery.flexslider.js</fileName>
2323
<preferredScriptLocation>BodyBottom</preferredScriptLocation>
24-
<CDNPath>https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.2.2/jquery.flexslider-min.js</CDNPath>
24+
<CDNPath>https://cdnjs.cloudflare.com/ajax/libs/flexslider/2.3.0/jquery.flexslider-min.js</CDNPath>
2525
<objectName>jQuery.fn.flexslider</objectName>
2626
</javaScriptLibrary>
2727
</component>
@@ -35,7 +35,7 @@
3535
</component>
3636
<component type="ResourceFile">
3737
<resourceFiles>
38-
<basePath>Resources\Libraries\FlexSlider\2.2.2</basePath>
38+
<basePath>Resources\Libraries\FlexSlider\02_03_00</basePath>
3939
<resourceFile>
4040
<name>Resources.zip</name>
4141
</resourceFile>
Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
<p>FlexSlider is <a href="https://github.com/woothemes/FlexSlider/tree/version/2.2.2#general-notes">licensed under the GPLv2 license</a></p>
1+
<p>FlexSlider is <a href="https://github.com/woothemes/FlexSlider/tree/version/2.3.0#general-notes">licensed under the GPLv2 license</a></p>
Binary file not shown.

FlexSlider_2.2.2/jquery.flexslider.js renamed to FlexSlider_2.3.0/jquery.flexslider.js

Lines changed: 61 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* jQuery FlexSlider v2.2.2
2+
* jQuery FlexSlider v2.3.0
33
* Copyright 2012 WooThemes
44
* Contributing Author: Tyler Smith
55
*/
@@ -18,7 +18,7 @@
1818
touch = (( "ontouchstart" in window ) || msGesture || window.DocumentTouch && document instanceof DocumentTouch) && slider.vars.touch,
1919
// depricating this idea, as devices are being released with both of these events
2020
//eventType = (touch) ? "touchend" : "click",
21-
eventType = "click touchend MSPointerUp",
21+
eventType = "click touchend MSPointerUp keyup",
2222
watchedEvent = "",
2323
watchedEventClearTimer,
2424
vertical = slider.vars.direction === "vertical",
@@ -70,6 +70,7 @@
7070
}
7171
return false;
7272
}());
73+
slider.ensureAnimationEnd = '';
7374
// CONTROLSCONTAINER:
7475
if (slider.vars.controlsContainer !== "") slider.controlsContainer = $(slider.vars.controlsContainer).length > 0 && $(slider.vars.controlsContainer);
7576
// MANUAL:
@@ -593,7 +594,8 @@
593594
}
594595
},
595596
uniqueID: function($clone) {
596-
$clone.find( '[id]' ).each(function() {
597+
// Append _clone to current level and children elements with id attributes
598+
$clone.filter( '[id]' ).add($clone.find( '[id]' )).each(function() {
597599
var $this = $(this);
598600
$this.attr( 'id', $this.attr( 'id' ) + '_clone' );
599601
});
@@ -602,29 +604,52 @@
602604
pauseInvisible: {
603605
visProp: null,
604606
init: function() {
605-
var prefixes = ['webkit','moz','ms','o'];
606-
607-
if ('hidden' in document) return 'hidden';
608-
for (var i = 0; i < prefixes.length; i++) {
609-
if ((prefixes[i] + 'Hidden') in document)
610-
methods.pauseInvisible.visProp = prefixes[i] + 'Hidden';
611-
}
612-
if (methods.pauseInvisible.visProp) {
613-
var evtname = methods.pauseInvisible.visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
607+
var visProp = methods.pauseInvisible.getHiddenProp();
608+
if (visProp) {
609+
var evtname = visProp.replace(/[H|h]idden/,'') + 'visibilitychange';
614610
document.addEventListener(evtname, function() {
615611
if (methods.pauseInvisible.isHidden()) {
616-
if(slider.startTimeout) clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
617-
else slider.pause(); //Or just pause
612+
if(slider.startTimeout) {
613+
clearTimeout(slider.startTimeout); //If clock is ticking, stop timer and prevent from starting while invisible
614+
} else {
615+
slider.pause(); //Or just pause
616+
}
618617
}
619618
else {
620-
if(slider.started) slider.play(); //Initiated before, just play
621-
else (slider.vars.initDelay > 0) ? setTimeout(slider.play, slider.vars.initDelay) : slider.play(); //Didn't init before: simply init or wait for it
619+
if(slider.started) {
620+
slider.play(); //Initiated before, just play
621+
} else {
622+
if (slider.vars.initDelay > 0) {
623+
setTimeout(slider.play, slider.vars.initDelay);
624+
} else {
625+
slider.play(); //Didn't init before: simply init or wait for it
626+
}
627+
}
622628
}
623629
});
624630
}
625631
},
626632
isHidden: function() {
627-
return document[methods.pauseInvisible.visProp] || false;
633+
var prop = methods.pauseInvisible.getHiddenProp();
634+
if (!prop) {
635+
return false;
636+
}
637+
return document[prop];
638+
},
639+
getHiddenProp: function() {
640+
var prefixes = ['webkit','moz','ms','o'];
641+
// if 'hidden' is natively supported just return it
642+
if ('hidden' in document) {
643+
return 'hidden';
644+
}
645+
// otherwise loop over all the known prefixes until we find one
646+
for ( var i = 0; i < prefixes.length; i++ ) {
647+
if ((prefixes[i] + 'Hidden') in document) {
648+
return prefixes[i] + 'Hidden';
649+
}
650+
}
651+
// otherwise it's not supported
652+
return null;
628653
}
629654
},
630655
setToClearWatchedEvent: function() {
@@ -719,10 +744,20 @@
719744
slider.animating = false;
720745
slider.currentSlide = slider.animatingTo;
721746
}
747+
748+
// Unbind previous transitionEnd events and re-bind new transitionEnd event
722749
slider.container.unbind("webkitTransitionEnd transitionend");
723750
slider.container.bind("webkitTransitionEnd transitionend", function() {
751+
clearTimeout(slider.ensureAnimationEnd);
724752
slider.wrapup(dimension);
725753
});
754+
755+
// Insurance for the ever-so-fickle transitionEnd event
756+
clearTimeout(slider.ensureAnimationEnd);
757+
slider.ensureAnimationEnd = setTimeout(function() {
758+
slider.wrapup(dimension);
759+
}, slider.vars.animationSpeed + 100);
760+
726761
} else {
727762
slider.container.animate(slider.args, slider.vars.animationSpeed, slider.vars.easing, function(){
728763
slider.wrapup(dimension);
@@ -871,9 +906,8 @@
871906
slider.cloneOffset = 1;
872907
// clear out old clones
873908
if (type !== "init") slider.container.find('.clone').remove();
874-
slider.container.append(slider.slides.first().clone().addClass('clone').attr('aria-hidden', 'true')).prepend(slider.slides.last().clone().addClass('clone').attr('aria-hidden', 'true'));
875-
methods.uniqueID( slider.slides.first().clone().addClass('clone') ).appendTo( slider.container );
876-
methods.uniqueID( slider.slides.last().clone().addClass('clone') ).prependTo( slider.container );
909+
slider.container.append(methods.uniqueID(slider.slides.first().clone().addClass('clone')).attr('aria-hidden', 'true'))
910+
.prepend(methods.uniqueID(slider.slides.last().clone().addClass('clone')).attr('aria-hidden', 'true'));
877911
}
878912
slider.newSlides = $(slider.vars.selector, slider);
879913

@@ -902,7 +936,11 @@
902936
if (type === "init") {
903937
if (!touch) {
904938
//slider.slides.eq(slider.currentSlide).fadeIn(slider.vars.animationSpeed, slider.vars.easing);
905-
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
939+
if (slider.vars.fadeFirstSlide == false) {
940+
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).css({"opacity": 1});
941+
} else {
942+
slider.slides.css({ "opacity": 0, "display": "block", "zIndex": 1 }).eq(slider.currentSlide).css({"zIndex": 2}).animate({"opacity": 1},slider.vars.animationSpeed,slider.vars.easing);
943+
}
906944
} else {
907945
slider.slides.css({ "opacity": 0, "display": "block", "webkitTransition": "opacity " + slider.vars.animationSpeed / 1000 + "s ease", "zIndex": 1 }).eq(slider.currentSlide).css({ "opacity": 1, "zIndex": 2});
908946
}
@@ -1059,6 +1097,7 @@
10591097
animationSpeed: 600, //Integer: Set the speed of animations, in milliseconds
10601098
initDelay: 0, //{NEW} Integer: Set an initialization delay, in milliseconds
10611099
randomize: false, //Boolean: Randomize slide order
1100+
fadeFirstSlide: true, //Boolean: Fade in the first slide when animation type is "fade"
10621101
thumbCaptions: false, //Boolean: Whether or not to put captions on thumbnails when using the "thumbnails" controlNav.
10631102

10641103
// Usability features
@@ -1070,7 +1109,7 @@
10701109
video: false, //{NEW} Boolean: If using video in the slider, will prevent CSS3 3D Transforms to avoid graphical glitches
10711110

10721111
// Primary Controls
1073-
controlNav: true, //Boolean: Create navigation for paging control of each clide? Note: Leave true for manualControls usage
1112+
controlNav: true, //Boolean: Create navigation for paging control of each slide? Note: Leave true for manualControls usage
10741113
directionNav: true, //Boolean: Create navigation for previous/next navigation? (true/false)
10751114
prevText: "Previous", //String: Set the text for the "previous" directionNav item
10761115
nextText: "Next", //String: Set the text for the "next" directionNav item

_InstallPackages/FlexSlider_2.2.2.zip

-19.8 KB
Binary file not shown.

_InstallPackages/FlexSlider_2.3.0.zip

20 KB
Binary file not shown.

0 commit comments

Comments
 (0)