133 lines
3.6 KiB
JavaScript
133 lines
3.6 KiB
JavaScript
;(function ( $, window, undefined ) {
|
|
|
|
jQuery(window).load(function(a){
|
|
contentBoxInit();
|
|
});
|
|
jQuery(window).resize(function(a){
|
|
contentBoxInit();
|
|
});
|
|
jQuery(document).ready(function(a) {
|
|
contentBoxInit();
|
|
});
|
|
|
|
// Content Box - Initialize
|
|
function contentBoxInit() {
|
|
$('.ult-content-box').each(function(index, el) {
|
|
var normal_bg_color = $(el).css('background-color') || '';
|
|
var normal_border_color = $(el).data('border_color') || 'transparent';
|
|
var normal_box_shadow = $(el).css('box-shadow') || '';
|
|
|
|
var hover_bg_color = $(el).data('hover_bg_color') || $(el).css('background-color');
|
|
var hover_border_color = $(el).data('hover_border_color') || 'transparent';
|
|
var hover_box_shadow = $(el).data('hover_box_shadow') || $(el).css('box-shadow');
|
|
|
|
$(el).hover(function() {
|
|
$(el).css('background-color', hover_bg_color);
|
|
$(el).css('border-color', hover_border_color);
|
|
$(el).css('box-shadow', hover_box_shadow);
|
|
}, function() {
|
|
$(el).css('background-color', normal_bg_color);
|
|
$(el).css('border-color', normal_border_color);
|
|
$(el).css('box-shadow', normal_box_shadow);
|
|
});
|
|
|
|
// Margins - Responsive
|
|
var rm_o = {};
|
|
var rm = $(el).data('responsive_margins');
|
|
if(typeof rm != 'undefined' && rm != null) {
|
|
rm_o = getMargins(rm);
|
|
}
|
|
|
|
// Margins - Normal
|
|
var nm_o = {};
|
|
var nm = $(el).data('normal_margins');
|
|
if(typeof nm != 'undefined' && nm != null ) {
|
|
nm_o = getMargins(nm);
|
|
} else {
|
|
nm_o = getCssMargins(el);
|
|
}
|
|
|
|
var WW = $(window).width() || '';
|
|
if(WW!='') {
|
|
if(WW>=768) {
|
|
//console.log('TRUE >= 768');
|
|
applyMargins(nm_o, el);
|
|
} else {
|
|
//console.log('FALSE not >= 768');
|
|
applyMargins(rm_o, el);
|
|
}
|
|
}
|
|
|
|
});
|
|
}
|
|
// create an object
|
|
function getCssMargins(el) {
|
|
var tmOb = {};
|
|
tmOb['margin-left'] = trimPx($(el).css('margin-left'));
|
|
tmOb['margin-right'] = trimPx($(el).css('margin-right'));
|
|
tmOb['margin-top'] = trimPx($(el).css('margin-top'));
|
|
tmOb['margin-bottom'] = trimPx($(el).css('margin-bottom'));
|
|
|
|
// Create normal margins
|
|
var bs = '';
|
|
$.each(tmOb, function(index, val) {
|
|
if(typeof val!= 'undefined' && val != null) {
|
|
bs += index+':'+val+'px;';
|
|
}
|
|
});
|
|
$(el).attr('data-normal_margins', bs);
|
|
return tmOb;
|
|
}
|
|
// Trim 'px' from margin val
|
|
function trimPx(l) {
|
|
var sp;
|
|
if(typeof l != 'undefined' && l != null) {
|
|
sp = l.split('px');
|
|
sp = parseInt(sp[0])
|
|
}
|
|
return sp;
|
|
}
|
|
|
|
// Get margins from - DATA ATTRIBUTE
|
|
// @return object
|
|
function getMargins(mo) {
|
|
var tmOj = {};
|
|
var b = mo.split(';');
|
|
if(typeof b != 'undefined' && b != null ) {
|
|
$.each(b, function(index, val) {
|
|
if(typeof val != undefined && val != null) {
|
|
var nm = val.split(':');
|
|
if(typeof nm[0] != undefined && nm[0] != null && typeof nm[1] != undefined && nm[1] != null ) {
|
|
switch(nm[0]) {
|
|
case 'margin' : tmOj['margin'] = (nm[1]);
|
|
break;
|
|
case 'margin-left' : tmOj['margin-left'] = (nm[1]);
|
|
break;
|
|
case 'margin-right' : tmOj['margin-right'] = (nm[1]);
|
|
break;
|
|
case 'margin-top' : tmOj['margin-top'] = (nm[1]);
|
|
break;
|
|
case 'margin-bottom' : tmOj['margin-bottom'] = (nm[1]);
|
|
break;
|
|
}
|
|
}
|
|
}
|
|
});
|
|
}
|
|
return tmOj;
|
|
}
|
|
|
|
// Apply css margins from object
|
|
// @return null
|
|
function applyMargins(ob, el) {
|
|
if( !$.isEmptyObject(ob) ) {
|
|
$.each(ob, function(index, val) {
|
|
if(typeof val!= 'undefined' && val != null) {
|
|
$(el).css(index, val);
|
|
}
|
|
});
|
|
}
|
|
}
|
|
|
|
|
|
}(jQuery, window)); |