update 25-03-2023

This commit is contained in:
2023-03-25 09:41:13 +07:00
parent 98414d3a05
commit 4719163917
169 changed files with 13841 additions and 0 deletions

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@@ -0,0 +1,229 @@
/*
slick-animation.js
Version: 0.3.3 Beta
Author: Marvin Hübner
Docs: https://github.com/marvinhuebner/slick-animation
Repo: https://github.com/marvinhuebner/slick-animation
*/
(function ($) {
$.fn.slickAnimation = function () {
var currentSlickSlider = $(this);
var slickItems = currentSlickSlider.find('.slick-list .slick-track > div');
var firstSlickItem = currentSlickSlider.find('[data-slick-index="0"]');
var animatedClass = 'animated';
var visible = {opacity: '1'};
var hidden = {opacity: '0'};
/**
* function for setting animationIn and animationOut class
* @param obj
* @param type
* @param animationIn
* @param animatedClass
* @param visibility
*/
function slickSetAnimationDefault(obj, type, animationIn, animatedClass, visibility) {
visibility = typeof visibility !== 'undefined' ? visibility : false;
slickRemoveAnimation(obj, 'delay');
slickRemoveAnimation(obj, 'duration');
if (type['opacity'] == 1) {
obj.addClass(animationIn);
obj.addClass(animatedClass);
} else {
obj.removeClass(animationIn);
obj.removeClass(animatedClass);
}
if (visibility) obj.css(type);
}
/**
* get timeout when delay, duration, delay and duration is set
* @param delayIn
* @param durationIn
* @returns {number}
*/
function getTimeout(delayIn, durationIn) {
if (delayIn) {
return delayIn * 1000 + 1000;
} else if (durationIn) {
return durationIn * 1000;
} else if ((delayIn) || (durationIn)) {
return (delayIn * 1000) + (durationIn * 1000);
}
return 1000;
}
/**
* add css animations for delay and duration
* @param obj
* @param animation
* @param value
*/
function slickAddAnimation(obj, animation, value) {
var delayInAttr = [
'animation-' + animation,
'-webkit-animation-' + animation,
'-moz-animation-' + animation,
'-o-animation-' + animation,
'-ms-animation-' + animation
];
var delayInAttributes = {};
delayInAttr.forEach(function (entry) {
delayInAttributes[entry] = value + 's';
});
obj.css(delayInAttributes);
}
/**
* remove css animations for delay and duration
* @param obj
* @param animation
*/
function slickRemoveAnimation(obj, animation) {
var delayInAttr = [
'animation-' + animation,
'-webkit-animation-' + animation,
'-moz-animation-' + animation,
'-o-animation-' + animation,
'-ms-animation-' + animation
];
var delayInAttributes = {};
delayInAttr.forEach(function (entry) {
delayInAttributes[entry] = '';
});
obj.css(delayInAttributes);
}
slickItems.each(function () {
var slickItem = $(this);
slickItem.find('[data-animation-in]').each(function () {
var self = $(this);
self.css(hidden);
var animationIn = self.attr('data-animation-in');
var animationOut = self.attr('data-animation-out');
var delayIn = self.attr('data-delay-in');
var durationIn = self.attr('data-duration-in');
var delayOut = self.attr('data-delay-out');
var durationOut = self.attr('data-duration-out');
if (animationOut) {
if (firstSlickItem.length > 0) {
if (slickItem.hasClass('slick-current')) {
slickSetAnimationDefault(self, visible, animationIn, animatedClass, true);
if (delayIn) {
slickAddAnimation(self, 'delay', delayIn);
}
if (durationIn) {
slickAddAnimation(self, 'duration', durationIn);
}
setTimeout(function () {
slickSetAnimationDefault(self, hidden, animationIn, animatedClass);
slickSetAnimationDefault(self, visible, animationOut, animatedClass);
if (delayOut) {
slickAddAnimation(self, 'delay', delayOut);
}
if (durationOut) {
slickAddAnimation(self, 'duration', durationOut);
}
setTimeout(function() {
slickRemoveAnimation(self, 'delay');
slickRemoveAnimation(self, 'duration');
}, getTimeout(delayOut, durationOut));
}, getTimeout(delayIn, durationIn));
}
}
currentSlickSlider.on('afterChange', function (event, slick, currentSlider) {
if (slickItem.hasClass('slick-current')) {
slickSetAnimationDefault(self, visible, animationIn, animatedClass, true);
if (delayIn) {
slickAddAnimation(self, 'delay', delayIn);
}
if (durationIn) {
slickAddAnimation(self, 'duration', durationIn);
}
setTimeout(function () {
slickSetAnimationDefault(self, hidden, animationIn, animatedClass);
slickSetAnimationDefault(self, visible, animationOut, animatedClass);
if (delayOut) {
slickAddAnimation(self, 'delay', delayOut);
}
if (durationOut) {
slickAddAnimation(self, 'duration', durationOut);
}
setTimeout(function() {
slickRemoveAnimation(self, 'delay');
slickRemoveAnimation(self, 'duration');
}, getTimeout(delayOut, durationOut));
}, getTimeout(delayIn, durationIn));
}
});
currentSlickSlider.on('beforeChange', function (event, slick, currentSlider) {
slickSetAnimationDefault(self, hidden, animationOut, animatedClass, true);
});
} else {
if (firstSlickItem.length > 0) {
if (slickItem.hasClass('slick-current')) {
slickSetAnimationDefault(self, visible, animationIn, animatedClass, true);
if (delayIn) {
slickAddAnimation(self, 'delay', delayIn);
}
if (durationIn) {
slickAddAnimation(self, 'duration', durationIn);
}
}
}
currentSlickSlider.on('afterChange', function (event, slick, currentSlider) {
if (slickItem.hasClass('slick-current')) {
slickSetAnimationDefault(self, visible, animationIn, animatedClass, true);
if (delayIn) {
slickAddAnimation(self, 'delay', delayIn);
}
if (durationIn) {
slickAddAnimation(self, 'duration', durationIn);
}
}
});
currentSlickSlider.on('beforeChange', function (event, slick, currentSlider) {
slickSetAnimationDefault(self, hidden, animationIn, animatedClass, true);
});
}
});
});
return this;
}
})(jQuery);