first
This commit is contained in:
111
wp-content/plugins/slider-bws/js/owl.carousel/owl.autorefresh.js
Normal file
111
wp-content/plugins/slider-bws/js/owl.carousel/owl.autorefresh.js
Normal file
@@ -0,0 +1,111 @@
|
||||
/**
|
||||
* AutoRefresh Plugin
|
||||
* @version 2.3.4
|
||||
* @author Artus Kolanowski
|
||||
* @author David Deutsch
|
||||
* @license The MIT License (MIT)
|
||||
*/
|
||||
;(function($, window, document, undefined) {
|
||||
|
||||
/**
|
||||
* Creates the auto refresh plugin.
|
||||
* @class The Auto Refresh Plugin
|
||||
* @param {Owl} carousel - The Owl Carousel
|
||||
*/
|
||||
var AutoRefresh = function(carousel) {
|
||||
/**
|
||||
* Reference to the core.
|
||||
* @protected
|
||||
* @type {Owl}
|
||||
*/
|
||||
this._core = carousel;
|
||||
|
||||
/**
|
||||
* Refresh interval.
|
||||
* @protected
|
||||
* @type {number}
|
||||
*/
|
||||
this._interval = null;
|
||||
|
||||
/**
|
||||
* Whether the element is currently visible or not.
|
||||
* @protected
|
||||
* @type {Boolean}
|
||||
*/
|
||||
this._visible = null;
|
||||
|
||||
/**
|
||||
* All event handlers.
|
||||
* @protected
|
||||
* @type {Object}
|
||||
*/
|
||||
this._handlers = {
|
||||
'initialized.owl.carousel': $.proxy(function(e) {
|
||||
if (e.namespace && this._core.settings.autoRefresh) {
|
||||
this.watch();
|
||||
}
|
||||
}, this)
|
||||
};
|
||||
|
||||
// set default options
|
||||
this._core.options = $.extend({}, AutoRefresh.Defaults, this._core.options);
|
||||
|
||||
// register event handlers
|
||||
this._core.$element.on(this._handlers);
|
||||
};
|
||||
|
||||
/**
|
||||
* Default options.
|
||||
* @public
|
||||
*/
|
||||
AutoRefresh.Defaults = {
|
||||
autoRefresh: true,
|
||||
autoRefreshInterval: 500
|
||||
};
|
||||
|
||||
/**
|
||||
* Watches the element.
|
||||
*/
|
||||
AutoRefresh.prototype.watch = function() {
|
||||
if (this._interval) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._visible = this._core.isVisible();
|
||||
this._interval = window.setInterval($.proxy(this.refresh, this), this._core.settings.autoRefreshInterval);
|
||||
};
|
||||
|
||||
/**
|
||||
* Refreshes the element.
|
||||
*/
|
||||
AutoRefresh.prototype.refresh = function() {
|
||||
if (this._core.isVisible() === this._visible) {
|
||||
return;
|
||||
}
|
||||
|
||||
this._visible = !this._visible;
|
||||
|
||||
this._core.$element.toggleClass('owl-hidden', !this._visible);
|
||||
|
||||
this._visible && (this._core.invalidate('width') && this._core.refresh());
|
||||
};
|
||||
|
||||
/**
|
||||
* Destroys the plugin.
|
||||
*/
|
||||
AutoRefresh.prototype.destroy = function() {
|
||||
var handler, property;
|
||||
|
||||
window.clearInterval(this._interval);
|
||||
|
||||
for (handler in this._handlers) {
|
||||
this._core.$element.off(handler, this._handlers[handler]);
|
||||
}
|
||||
for (property in Object.getOwnPropertyNames(this)) {
|
||||
typeof this[property] != 'function' && (this[property] = null);
|
||||
}
|
||||
};
|
||||
|
||||
$.fn.owlCarousel.Constructor.Plugins.AutoRefresh = AutoRefresh;
|
||||
|
||||
})(window.Zepto || window.jQuery, window, document);
|
||||
Reference in New Issue
Block a user