910 lines
20 KiB
JavaScript
910 lines
20 KiB
JavaScript
|
|
window.width = jQuery(window).width();
|
|
window.height = jQuery(window).height();
|
|
|
|
/* Init */
|
|
jQuery(window).ready(function () {
|
|
|
|
|
|
// jQuery 3.x do no support size() - should be replaceced with .legth
|
|
// We use this hack to make old plugins working
|
|
jQuery.fn.extend({
|
|
size: function() {
|
|
return this.length;
|
|
}
|
|
});
|
|
|
|
// Init
|
|
Init(false);
|
|
|
|
|
|
});
|
|
|
|
|
|
/** Init
|
|
Ajax Reinit: Init(true);
|
|
**************************************************************** **/
|
|
function Init(is_ajax) {
|
|
|
|
// First Load Only
|
|
if(is_ajax != true) {
|
|
|
|
_topNav();
|
|
_sideNav();
|
|
_megaNavHorizontal();
|
|
|
|
}
|
|
_owl_carousel();
|
|
_lightbox();
|
|
_zoom();
|
|
|
|
}
|
|
|
|
|
|
|
|
/** Top Nav
|
|
**************************************************************** **/
|
|
function _topNav() {
|
|
window.scrollTop = 0;
|
|
window._cmScroll = 0;
|
|
var _header_el = jQuery("#header");
|
|
|
|
jQuery(window).scroll(function() {
|
|
_toTop();
|
|
});
|
|
|
|
/* Scroll To Top */
|
|
function _toTop() {
|
|
_scrollTop = jQuery(document).scrollTop();
|
|
|
|
if(_scrollTop > 100) {
|
|
|
|
if(jQuery("#toTop").is(":hidden")) {
|
|
jQuery("#toTop").show();
|
|
}
|
|
|
|
} else {
|
|
|
|
if(jQuery("#toTop").is(":visible")) {
|
|
jQuery("#toTop").hide();
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
// Mobile Submenu
|
|
var addActiveClass = false;
|
|
jQuery("#down a.dropdown-toggle").bind("click", function(e) {
|
|
|
|
if(jQuery(this).attr('href') == "#") {
|
|
e.preventDefault();
|
|
}
|
|
|
|
addActiveClass = jQuery(this).parent().hasClass("resp-active");
|
|
jQuery("#down").find(".resp-active").removeClass("resp-active");
|
|
|
|
if(!addActiveClass) {
|
|
jQuery(this).parents("li").addClass("resp-active");
|
|
}
|
|
|
|
return;
|
|
|
|
});
|
|
|
|
|
|
// Srearch
|
|
jQuery('li.search i.fa').click(function () {
|
|
if(jQuery('#header .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
} else {
|
|
jQuery('.search-box').fadeIn(300);
|
|
jQuery('#header .search-box form input').focus();
|
|
|
|
// hide quick cart if visible
|
|
if (jQuery('#header li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('#header li.quick-cart div.quick-cart-box').fadeOut(300);
|
|
}
|
|
}
|
|
});
|
|
|
|
// close search box on body click
|
|
if(jQuery('#header li.search i.fa').size() != 0) {
|
|
jQuery('#header .search-box, #header li.search i.fa').on('click', function(e){
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery('body').on('click', function() {
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
}
|
|
});
|
|
}
|
|
|
|
jQuery(document).bind("click", function() {
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
}
|
|
});
|
|
|
|
|
|
// Close Fullscreen Search
|
|
jQuery("#closeSearch").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery('#header .search-box').fadeOut(300);
|
|
});
|
|
|
|
|
|
|
|
// Page Menu [mobile]
|
|
jQuery("button#page-menu-mobile").bind("click", function() {
|
|
jQuery(this).next('ul').slideToggle(150);
|
|
});
|
|
|
|
|
|
// Quick Cart
|
|
jQuery('li.quick-cart>a').click(function (e) {
|
|
e.preventDefault();
|
|
|
|
var _quick_cart_box = jQuery('li.quick-cart div.quick-cart-box');
|
|
|
|
if(_quick_cart_box.is(":visible")) {
|
|
_quick_cart_box.fadeOut(300);
|
|
} else {
|
|
_quick_cart_box.fadeIn(300);
|
|
|
|
// close search if visible
|
|
if(jQuery('li.search .search-box').is(":visible")) {
|
|
jQuery('.search-box').fadeOut(300);
|
|
}
|
|
}
|
|
});
|
|
// close quick cart on body click
|
|
if(jQuery('li.quick-cart>a').size() != 0) {
|
|
jQuery('li.quick-cart').on('click', function(e){
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery('body').on('click', function() {
|
|
if (jQuery('li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('li.quick-cart div.quick-cart-box').fadeOut(300);
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
|
|
// MOBILE TOGGLE BUTTON
|
|
window.currentScroll = 0;
|
|
jQuery("button.btn-mobile").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery(this).toggleClass('btn-mobile-active');
|
|
jQuery('html').removeClass('noscroll');
|
|
jQuery('#menu-overlay').remove();
|
|
jQuery("#topNav div.nav-main-collapse").hide(0);
|
|
|
|
if(jQuery(this).hasClass('btn-mobile-active')) {
|
|
jQuery("#topNav div.nav-main-collapse").show(0);
|
|
jQuery('html').addClass('noscroll');
|
|
jQuery('body').append('<div id="menu-overlay"></div>');
|
|
window.currentScroll = jQuery(window).scrollTop();
|
|
} else {
|
|
jQuery('html,body').animate({scrollTop: currentScroll}, 300, 'easeInOutExpo');
|
|
}
|
|
});
|
|
|
|
|
|
|
|
|
|
// BOTTOM NAV
|
|
if(_header_el.hasClass('bottom')) {
|
|
|
|
// Add dropup class
|
|
_header_el.addClass('dropup');
|
|
window.homeHeight = jQuery(window).outerHeight() - 55;
|
|
|
|
|
|
// sticky header
|
|
if(_header_el.hasClass('sticky')) {
|
|
window.isOnTop = true;
|
|
|
|
|
|
// if scroll is > 60%, remove class dropup
|
|
jQuery(window).scroll(function() {
|
|
if(jQuery(document).scrollTop() > window.homeHeight / 2) {
|
|
_header_el.removeClass('dropup');
|
|
} else {
|
|
_header_el.addClass('dropup');
|
|
}
|
|
});
|
|
|
|
|
|
// Add fixed|not fixed & dropup|no dropup
|
|
jQuery(window).scroll(function() {
|
|
if(jQuery(document).scrollTop() > window.homeHeight) {
|
|
if(window.isOnTop === true) {
|
|
jQuery('#header').addClass('fixed');
|
|
_header_el.removeClass('dropup');
|
|
window.isOnTop = false;
|
|
}
|
|
} else {
|
|
if(window.isOnTop === false) {
|
|
jQuery('#header').removeClass('fixed');
|
|
_header_el.addClass('dropup');
|
|
window.isOnTop = true;
|
|
}
|
|
}
|
|
});
|
|
|
|
// get window height on resize
|
|
jQuery(window).resize(function() {
|
|
window.homeHeight = jQuery(window).outerHeight();
|
|
});
|
|
|
|
}
|
|
|
|
} else
|
|
|
|
// STICKY
|
|
if(_header_el.hasClass('sticky')) {
|
|
|
|
_topBar_H = jQuery("#topBar").outerHeight() || 0;
|
|
|
|
// Force fixed header on mobile to avoid "jump" effect.
|
|
if(window.width <= 992 && _topBar_H < 1) {
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
_header_el.addClass('fixed');
|
|
jQuery('body').css({"padding-top":_header_H+"px"});
|
|
|
|
}
|
|
|
|
|
|
} else
|
|
|
|
|
|
// STATIC + TRANSPARENT
|
|
if(_header_el.hasClass('static') && _header_el.hasClass('transparent')) {
|
|
|
|
_topBar_H = jQuery("#topBar").outerHeight() || 0;
|
|
|
|
// Force fixed header on mobile to avoid "jump" effect.
|
|
if(window.width <= 992 && _topBar_H < 1) {
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
_header_el.addClass('fixed');
|
|
|
|
}
|
|
|
|
|
|
|
|
jQuery(window).scroll(function() {
|
|
|
|
if((window.width > 992 && _topBar_H < 1) || _topBar_H > 0) { // 992 to disable on mobile
|
|
|
|
var _scrollTop = jQuery(document).scrollTop();
|
|
|
|
if(_scrollTop > _topBar_H) {
|
|
_header_el.addClass('fixed');
|
|
|
|
_header_H = _header_el.outerHeight() || 0;
|
|
|
|
} else {
|
|
|
|
|
|
_header_el.removeClass('fixed');
|
|
}
|
|
|
|
}
|
|
|
|
});
|
|
|
|
|
|
|
|
} else
|
|
|
|
if(_header_el.hasClass('static')) {
|
|
// _header_H = _header_el.outerHeight() + "px";
|
|
// jQuery('body').css({"padding-top":_header_H});
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
/** OVERLAY MENU
|
|
*************************** **/
|
|
if(jQuery("#menu_overlay_open").length > 0) {
|
|
var is_ie9 = jQuery('html').hasClass('ie9') ? true : false;
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
|
|
// open
|
|
jQuery("#menu_overlay_open").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery('body').addClass('show-menu');
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").show();
|
|
}
|
|
|
|
});
|
|
|
|
// close
|
|
jQuery("#menu_overlay_close").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
if(jQuery('body').hasClass('show-menu')) {
|
|
jQuery('body').removeClass('show-menu');
|
|
}
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
|
|
});
|
|
|
|
// 'esc' key
|
|
jQuery(document).keyup(function(e) {
|
|
if(e.keyCode == 27) {
|
|
if(jQuery('body').hasClass('show-menu')) {
|
|
jQuery('body').removeClass('show-menu');
|
|
}
|
|
|
|
if(is_ie9 == true) {
|
|
jQuery("#topMain").hide();
|
|
}
|
|
}
|
|
});
|
|
|
|
}
|
|
|
|
|
|
// quick cart & search for mobile - top calculate
|
|
// Quick Cart & top Search Fix (if #topBar exists).
|
|
if(jQuery("#topBar").length > 0) {
|
|
jQuery("#topNav ul").addClass('has-topBar');
|
|
}
|
|
|
|
// Hide Cart & Search on Scroll
|
|
jQuery(window).scroll(function() {
|
|
if(window.width < 769) {
|
|
// hide quick cart if visible
|
|
if (jQuery('#header li.quick-cart div.quick-cart-box').is(":visible")) {
|
|
jQuery('#header li.quick-cart div.quick-cart-box').fadeOut(0);
|
|
}
|
|
// hide search if visible
|
|
if(jQuery('#header li.search .search-box').is(":visible")) {
|
|
jQuery('#header .search-box').fadeOut(0);
|
|
}
|
|
}
|
|
});
|
|
|
|
|
|
// quantity
|
|
jQuery('.incr-btn').click(function (e) {
|
|
var $button = $(this);
|
|
var newVal = 0;
|
|
var oldValue = $button.parent().find('.quantity').val();
|
|
$button.parent().find('.incr-btn[data-action="decrease"]').removeClass('inactive');
|
|
if ($button.data('action') === 'increase') {
|
|
newVal = parseFloat(oldValue) + 1;
|
|
} else {
|
|
// Don't allow decrementing below 1
|
|
if (oldValue > 1) {
|
|
newVal = parseFloat(oldValue) - 1;
|
|
} else {
|
|
newVal = 1;
|
|
$button.addClass('inactive');
|
|
}
|
|
}
|
|
$button.parent().find('.quantity').val(newVal);
|
|
e.preventDefault();
|
|
});
|
|
|
|
}
|
|
|
|
|
|
/** Side Nav
|
|
**************************************************************** **/
|
|
function _sideNav() {
|
|
|
|
|
|
/* Mobile Button */
|
|
jQuery("div.side-nav").each(function() {
|
|
var _t = jQuery('ul', this);
|
|
jQuery('button', this).bind("click", function() {
|
|
_t.slideToggle(300);
|
|
});
|
|
});
|
|
|
|
|
|
/* Submenus */
|
|
jQuery("div.side-nav li>a.dropdown-toggle").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
jQuery(this).next('ul').slideToggle(200);
|
|
jQuery(this).closest('li').toggleClass('active');
|
|
});
|
|
|
|
}
|
|
|
|
|
|
/** Mega Horizontal Navigation
|
|
**************************************************************** **/
|
|
function _megaNavHorizontal() {
|
|
|
|
// WRAPPER MAIN MENU
|
|
if(jQuery("#wrapper nav.main-nav").length > 0) {
|
|
|
|
var _sliderWidth = jQuery("#slider").width(),
|
|
_sliderHeight = jQuery("#wrapper nav.main-nav").height();
|
|
|
|
// Submenu widh & height
|
|
jQuery("#wrapper nav.main-nav>div>ul>li>.main-nav-submenu").css({"min-height":_sliderHeight+"px"});
|
|
jQuery("#wrapper nav.main-nav>div>ul>li.main-nav-expanded>.main-nav-submenu").css({"width":_sliderWidth+"px"});
|
|
|
|
// SUBMENUS
|
|
jQuery("#wrapper nav.main-nav>div>ul>li").bind("click", function(e) {
|
|
var _this = jQuery(this);
|
|
|
|
if(!jQuery('div', _this).hasClass('main-nav-open')) {
|
|
jQuery("#wrapper nav.main-nav>div>ul>li>.main-nav-submenu").removeClass('main-nav-open');
|
|
}
|
|
|
|
jQuery('div', _this).toggleClass('main-nav-open');
|
|
});
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
|
|
|
|
// HEADER MAIN MENU
|
|
var _hsliderWidth = jQuery("#header>.container").width() - 278,
|
|
_hsliderHeight = jQuery("#header nav.main-nav").height();
|
|
|
|
// Submenu widh & height
|
|
jQuery("#header nav.main-nav>div>ul>li>.main-nav-submenu").css({"min-height":_hsliderHeight+"px"});
|
|
jQuery("#header nav.main-nav>div>ul>li.main-nav-expanded>.main-nav-submenu").css({"width":_hsliderWidth+"px"});
|
|
|
|
|
|
// SUBMENUS
|
|
jQuery("#header nav.main-nav>div>ul>li").bind("click", function(e) {
|
|
var _this = jQuery(this);
|
|
|
|
if(!jQuery('div', _this).hasClass('main-nav-open')) {
|
|
jQuery("#header nav.main-nav>div>ul>li>.main-nav-submenu").removeClass('main-nav-open');
|
|
}
|
|
|
|
jQuery('div', _this).toggleClass('main-nav-open');
|
|
});
|
|
|
|
|
|
|
|
|
|
// HEADER MAIN MENU
|
|
if(window.width > 767) { // desktop|tablet
|
|
|
|
jQuery("#header button.nav-toggle").mouseover(function(e) {
|
|
e.preventDefault();
|
|
|
|
_initMainNav();
|
|
|
|
});
|
|
|
|
|
|
} else { // mobile
|
|
|
|
jQuery("#header button.nav-toggle").bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
_initMainNav();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
jQuery('body').on('click', '#header button.nav-toggle, #header nav.main-nav', function (e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
jQuery("#header button.nav-toggle, #header nav.main-nav").mouseover(function(e) {
|
|
e.stopPropagation();
|
|
});
|
|
|
|
|
|
jQuery(document).bind("click", function() {
|
|
|
|
_hideMainNav();
|
|
|
|
});
|
|
|
|
|
|
|
|
function _initMainNav() {
|
|
|
|
// remove overlay first, no matter what
|
|
jQuery("#main-nav-overlay").remove();
|
|
|
|
// open menu
|
|
jQuery("#header nav.main-nav").addClass('min-nav-active');
|
|
|
|
// add overlay
|
|
jQuery('body').append('<div id="main-nav-overlay"></div>');
|
|
|
|
// Mobile menu open|close on click
|
|
jQuery('#header button.nav-toggle-close').bind("click", function() {
|
|
jQuery("#header nav.main-nav").removeClass('min-nav-active');
|
|
});
|
|
|
|
// Close menu on hover
|
|
jQuery("#main-nav-overlay, #header").mouseover(function() {
|
|
|
|
_hideMainNav();
|
|
|
|
});
|
|
|
|
}
|
|
|
|
function _hideMainNav() {
|
|
jQuery("#main-nav-overlay").remove();
|
|
jQuery("#header nav.main-nav").removeClass('min-nav-active');
|
|
}
|
|
|
|
|
|
// Menu Click
|
|
jQuery("nav.main-nav>div>ul>li a").bind("click", function(e) {
|
|
var _href = jQuery(this).attr('href');
|
|
|
|
if(_href == '#') {
|
|
e.preventDefault();
|
|
}
|
|
});
|
|
}
|
|
|
|
|
|
/** LightBox
|
|
**************************************************************** **/
|
|
function _lightbox() {
|
|
var _el = jQuery(".lightbox");
|
|
|
|
if(_el.length > 0) {
|
|
|
|
|
|
if(typeof(jQuery.magnificPopup) == "undefined") {
|
|
return false;
|
|
}
|
|
|
|
jQuery.extend(true, jQuery.magnificPopup.defaults, {
|
|
tClose: 'Close',
|
|
tLoading: 'Loading...',
|
|
|
|
gallery: {
|
|
tPrev: 'Previous',
|
|
tNext: 'Next',
|
|
tCounter: '%curr% / %total%'
|
|
},
|
|
|
|
image: {
|
|
tError: 'Image not loaded!'
|
|
},
|
|
|
|
ajax: {
|
|
tError: 'Content not loaded!'
|
|
}
|
|
});
|
|
|
|
_el.each(function() {
|
|
|
|
var _t = jQuery(this),
|
|
options = _t.attr('data-plugin-options'),
|
|
config = {},
|
|
defaults = {
|
|
type: 'image',
|
|
fixedContentPos: false,
|
|
fixedBgPos: false,
|
|
mainClass: 'mfp-no-margins mfp-with-zoom',
|
|
closeOnContentClick: true,
|
|
closeOnBgClick: true,
|
|
image: {
|
|
verticalFit: true
|
|
},
|
|
|
|
zoom: {
|
|
enabled: false,
|
|
duration: 300
|
|
},
|
|
|
|
gallery: {
|
|
enabled: false,
|
|
navigateByImgClick: true,
|
|
preload: [0,1],
|
|
arrowMarkup: '<button title="%title%" type="button" class="mfp-arrow mfp-arrow-%dir%"></button>',
|
|
tPrev: 'Previous',
|
|
tNext: 'Next',
|
|
tCounter: '<span class="mfp-counter">%curr% / %total%</span>'
|
|
},
|
|
};
|
|
|
|
if(_t.data("plugin-options")) {
|
|
config = jQuery.extend({}, defaults, options, _t.data("plugin-options"));
|
|
}
|
|
|
|
jQuery(this).magnificPopup(config);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/** Image Zoom
|
|
**************************************************************** **/
|
|
function _zoom() {
|
|
var _container = jQuery('figure.zoom');
|
|
|
|
if(_container.length > 0) {
|
|
|
|
|
|
if(jQuery().zoom) {
|
|
|
|
_container.each(function() {
|
|
var _t = jQuery(this),
|
|
_mode = _t.attr('data-mode'),
|
|
_id = _t.attr('id');
|
|
|
|
if(_mode == 'grab') {
|
|
_t.zoom({ on:'grab' });
|
|
} else
|
|
|
|
if(_mode == 'click') {
|
|
_t.zoom({ on:'click' });
|
|
} else
|
|
|
|
if(_mode == 'toggle') {
|
|
_t.zoom({ on:'toggle' });
|
|
} else {
|
|
_t.zoom();
|
|
}
|
|
|
|
if(isMobile.any()) {
|
|
_t.zoom({ on:'toggle' });
|
|
}
|
|
|
|
// Thumbnails
|
|
if(_id) {
|
|
jQuery('.zoom-more[data-for='+_id+'] a').bind("click", function(e) {
|
|
e.preventDefault();
|
|
|
|
var _href = jQuery(this).attr('href');
|
|
|
|
if(_href != "#") {
|
|
jQuery('.zoom-more[data-for='+_id+'] a').removeClass('active');
|
|
jQuery(this).addClass('active');
|
|
|
|
jQuery('figure#'+_id + '>.lightbox').attr('href', _href);
|
|
|
|
jQuery('figure#'+_id + '>img').fadeOut(0, function() {
|
|
jQuery('figure#'+_id + '>img').attr('src', _href);
|
|
}).fadeIn(500);
|
|
|
|
|
|
}
|
|
});
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
/** OWL Carousel
|
|
**************************************************************** **/
|
|
function _owl_carousel() {
|
|
|
|
|
|
// OWL CAROUSEL 1
|
|
var _container = jQuery("div.owl-carousel");
|
|
|
|
if(_container.length > 0) {
|
|
|
|
_container.each(function() {
|
|
|
|
var slider = jQuery(this);
|
|
var options = slider.attr('data-plugin-options');
|
|
|
|
// Progress Bar
|
|
var $opt = eval('(' + options + ')'); // convert text to json
|
|
|
|
if($opt.progressBar == 'true') {
|
|
var afterInit = progressBar;
|
|
} else {
|
|
var afterInit = false;
|
|
}
|
|
|
|
var defaults = {
|
|
items: 5,
|
|
itemsCustom: false,
|
|
itemsDesktop: [1199,4],
|
|
itemsDesktopSmall: [980,3],
|
|
itemsTablet: [768,2],
|
|
itemsTabletSmall: false,
|
|
itemsMobile: [479,1],
|
|
singleItem: true,
|
|
itemsScaleUp: false,
|
|
|
|
slideSpeed: 200,
|
|
paginationSpeed: 800,
|
|
rewindSpeed: 1000,
|
|
|
|
autoPlay: false,
|
|
stopOnHover: false,
|
|
|
|
navigation: false,
|
|
navigationText: [
|
|
'<i class="fa fa-angle-left"></i>',
|
|
'<i class="fa fa-angle-right"></i>'
|
|
],
|
|
rewindNav: true,
|
|
scrollPerPage: false,
|
|
|
|
pagination: true,
|
|
paginationNumbers: false,
|
|
|
|
responsive: true,
|
|
responsiveRefreshRate: 200,
|
|
responsiveBaseWidth: window,
|
|
|
|
baseClass: "owl-carousel",
|
|
theme: "owl-theme",
|
|
|
|
lazyLoad: false,
|
|
lazyFollow: true,
|
|
lazyEffect: "fade",
|
|
|
|
autoHeight: false,
|
|
|
|
jsonPath: false,
|
|
jsonSuccess: false,
|
|
|
|
dragBeforeAnimFinish: true,
|
|
mouseDrag: true,
|
|
touchDrag: true,
|
|
|
|
transitionStyle: false,
|
|
|
|
addClassActive: false,
|
|
|
|
beforeUpdate: false,
|
|
afterUpdate: false,
|
|
beforeInit: false,
|
|
afterInit: afterInit,
|
|
beforeMove: false,
|
|
afterMove: (afterInit == false) ? false : moved,
|
|
afterAction: false,
|
|
startDragging: false,
|
|
afterLazyLoad: false
|
|
}
|
|
|
|
var config = jQuery.extend({}, defaults, options, slider.data("plugin-options"));
|
|
slider.owlCarousel(config).addClass("owl-carousel-init");
|
|
|
|
|
|
// Progress Bar
|
|
var elem = jQuery(this);
|
|
|
|
//Init progressBar where elem is $("#owl-demo")
|
|
function progressBar(elem){
|
|
$elem = elem;
|
|
//build progress bar elements
|
|
buildProgressBar();
|
|
//start counting
|
|
start();
|
|
}
|
|
|
|
//create div#progressBar and div#bar then prepend to $("#owl-demo")
|
|
function buildProgressBar(){
|
|
$progressBar = jQuery("<div>",{
|
|
id:"progressBar"
|
|
});
|
|
$bar = jQuery("<div>",{
|
|
id:"bar"
|
|
});
|
|
$progressBar.append($bar).prependTo($elem);
|
|
}
|
|
|
|
function start() {
|
|
//reset timer
|
|
percentTime = 0;
|
|
isPause = false;
|
|
//run interval every 0.01 second
|
|
tick = setInterval(interval, 10);
|
|
};
|
|
|
|
|
|
var time = 7; // time in seconds
|
|
function interval() {
|
|
if(isPause === false){
|
|
percentTime += 1 / time;
|
|
$bar.css({
|
|
width: percentTime+"%"
|
|
});
|
|
//if percentTime is equal or greater than 100
|
|
if(percentTime >= 100){
|
|
//slide to next item
|
|
$elem.trigger('owl.next')
|
|
}
|
|
}
|
|
}
|
|
|
|
//pause while dragging
|
|
function pauseOnDragging(){
|
|
isPause = true;
|
|
}
|
|
|
|
//moved callback
|
|
function moved(){
|
|
//clear interval
|
|
clearTimeout(tick);
|
|
//start again
|
|
start();
|
|
}
|
|
|
|
});
|
|
|
|
}
|
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
/*
|
|
Mobile Check
|
|
|
|
if( isMobile.any() ) alert('Mobile');
|
|
if( isMobile.iOS() ) alert('iOS');
|
|
*/
|
|
|
|
var isMobile = {
|
|
iOS: function() {
|
|
return navigator.userAgent.match(/iPhone|iPad|iPod/i);
|
|
},
|
|
Android: function() {
|
|
return navigator.userAgent.match(/Android/i);
|
|
},
|
|
BlackBerry: function() {
|
|
return navigator.userAgent.match(/BlackBerry/i);
|
|
},
|
|
Opera: function() {
|
|
return navigator.userAgent.match(/Opera Mini/i);
|
|
},
|
|
Windows: function() {
|
|
return navigator.userAgent.match(/IEMobile/i) || navigator.userAgent.match(/WPDesktop/i);
|
|
},
|
|
any: function() {
|
|
return (isMobile.iOS() || isMobile.Android() || isMobile.BlackBerry() || isMobile.Opera() || isMobile.Windows());
|
|
}
|
|
};
|
|
|