File: /home/lesanew/www/wp-content/plugins/neobeat-core/inc/shortcodes/icon/assets/js/parts/icon.js
(function ($) {
"use strict";
qodefCore.shortcodes.neobeat_core_icon = {};
$(document).ready(function () {
qodefIcon.init();
});
var qodefIcon = {
init: function () {
this.icons = $('.qodef-icon-holder');
if (this.icons.length) {
this.icons.each(function () {
var $thisIcon = $(this);
qodefIcon.iconStroke($thisIcon);
qodefIcon.iconHoverColor($thisIcon);
qodefIcon.iconHoverBgColor($thisIcon);
qodefIcon.iconHoverBorderColor($thisIcon);
});
}
},
iconStroke: function ($iconHolder) {
if ( $iconHolder.hasClass('qodef-has--circle-hover')) {
var spanHolder = $iconHolder.find('span');
var originalColor = spanHolder.css('color');
var hoverColor = $iconHolder.data('hover-color');
var svgHolder = $iconHolder.find('svg');
var radius = svgHolder.css('width').replace(/[^-\d\.]/g, '');//without px
var offset = Math.ceil(radius * 3.15);//round num of 2r*pi
qodefIcon.changeStroke(svgHolder, offset);
setTimeout(function(){
qodefIcon.changeColor(svgHolder, 'opacity' , .5);
}, 500);
if (typeof $iconHolder.data('hover-color') !== 'undefined') {
$iconHolder.on('mouseenter', function () {
qodefIcon.changeColor(svgHolder, 'color', hoverColor);
});
$iconHolder.on('mouseleave', function () {
qodefIcon.changeColor(svgHolder, 'color', originalColor);
});
}
}
},
iconHoverColor: function ($iconHolder) {
if (typeof $iconHolder.data('hover-color') !== 'undefined') {
var spanHolder = $iconHolder.find('span');
var originalColor = spanHolder.css('color');
var hoverColor = $iconHolder.data('hover-color');
$iconHolder.on('mouseenter', function () {
qodefIcon.changeColor(spanHolder, 'color', hoverColor);
});
$iconHolder.on('mouseleave', function () {
qodefIcon.changeColor(spanHolder, 'color', originalColor);
});
}
},
iconHoverBgColor: function ($iconHolder) {
if (typeof $iconHolder.data('hover-background-color') !== 'undefined') {
var hoverBackgroundColor = $iconHolder.data('hover-background-color');
var originalBackgroundColor = $iconHolder.css('background-color');
$iconHolder.on('mouseenter', function () {
qodefIcon.changeColor($iconHolder, 'background-color', hoverBackgroundColor);
});
$iconHolder.on('mouseleave', function () {
qodefIcon.changeColor($iconHolder, 'background-color', originalBackgroundColor);
});
}
},
iconHoverBorderColor: function ($iconHolder) {
if (typeof $iconHolder.data('hover-border-color') !== 'undefined') {
var hoverBorderColor = $iconHolder.data('hover-border-color');
var originalBorderColor = $iconHolder.css('borderTopColor');
$iconHolder.on('mouseenter', function () {
qodefIcon.changeColor($iconHolder, 'border-color', hoverBorderColor);
});
$iconHolder.on('mouseleave', function () {
qodefIcon.changeColor($iconHolder, 'border-color', originalBorderColor);
});
}
},
changeColor: function (iconElement, cssProperty, color) {
iconElement.css(cssProperty, color);
},
changeStroke: function (iconElement, offset) {
iconElement.css({
'stroke-dashoffset' : offset,
'stroke-dasharray': offset
});
},
};
qodefCore.shortcodes.neobeat_core_icon.qodefIcon = qodefIcon;
})(jQuery);