Current Path : /storage/v11800/affypharma/public_html/wp-content/plugins/bdthemes-element-pack/assets/vendor/js/ |
Linux v11800 5.3.0-1023-aws #25~18.04.1-Ubuntu SMP Fri Jun 5 15:19:18 UTC 2020 aarch64
|
Current File : /storage/v11800/affypharma/public_html/wp-content/plugins/bdthemes-element-pack/assets/vendor/js/sidetabs.js |
/**
* Object SideNavi
* public methods : init
* init param : String direction
* init param : Object css data
*/
var SideNavi = ( function ($) {
var container = {},
cssElements = {},
posStep = 30,
posStart = null,
posEnd = null,
posDirection = '',
isSlideing = false,
isVisible = false,
activeIndex = -1,
changeVisibility = false;
function getPosStart () {
if (posStart === null) {
posStart = 0 - $(cssElements.data + ':eq(0)', container).width()*1;
}
return posStart;
}
function getPosEnd () {
if (posEnd === null) {
posEnd = 0;
}
return posEnd;
}
function getPos (){
return container.css(posDirection).replace('px','');
}
function toggleIsVisible () {
isVisible = !(isVisible);
}
function isActiveItem (item) {
return item.hasClass('bdt-active');
}
function setActiveTab () {
$(cssElements.tab + cssElements.active, container).removeClass(cssElements.active.replace('.',''));
$(cssElements.tab + ':eq(' + activeIndex + ')',container).addClass(cssElements.active.replace('.',''));
}
function removeActiveItem () {
$(cssElements.item + cssElements.active, container).removeClass('bdt-active');
}
function setActiveItem (item) {
removeActiveItem();
setActiveTab();
item.addClass('bdt-active');
}
function setDefaultItem (item) {
item.removeClass('bdt-active');
}
function slideEvent () {
var pos = getPos()*1;
//if ( isVisible && pos < getPosEnd () || ! isVisible && pos > getPosStart () ) {
pos = (isVisible) ? pos+posStep : pos-posStep;
if (isVisible && pos + posStep >= getPosEnd () || ! isVisible && pos - posStep <= getPosStart ()) {
pos = (isVisible) ? getPosEnd () : getPosStart ();
container.css(posDirection, 'translateX('+pos+'px)');
isSlideing = false;
} else {
container.css(posDirection, 'translateX('+pos+'px)');
setTimeout(function () {slideEvent()}, 30 );
}
// } else {
// isSlideing = false;
// }
}
function slide () {
if ( ! isSlideing) {
isSlideing = true;
slideEvent();
}
}
function setEventParam (item) {
activeIndex = $(cssElements.item, container).index(item);
if (isActiveItem(item)) {
toggleIsVisible();
setDefaultItem(item);
changeVisibility = true;
} else {
setActiveItem(item);
if ( ! isVisible) {
toggleIsVisible();
changeVisibility = true;
}
}
}
function eventListener () {
$(cssElements.item, container).on('click', function (event) {
event.preventDefault();
setEventParam($(this));
if (changeVisibility) {
slide();
}
});
}
function init (direction, conf) {
posDirection = direction;
cssElements = conf;
container = $(cssElements.container);
eventListener();
}
return {
init : init
};
})(jQuery);