| Current File : /home/digitaw/www/wp-content/updraft/plugins-old/ad-inserter/includes/js/ai-sidebar.q.js |
jQuery(document).ready(function($) {
const AI_STICKY_WIDGET_MODE_CSS = 0;
const AI_STICKY_WIDGET_MODE_JS = 1;
const AI_STICKY_WIDGET_MODE_CSS_PUSH = 2;
var ai_set_sidebars = function ($) {
var sticky_widget_mode = AI_FUNC_GET_STICKY_WIDGET_MODE;
var sticky_widget_margin = AI_FUNC_GET_STICKY_WIDGET_MARGIN;
var document_width = $(document).width();
var ai_debug = typeof ai_debugging !== 'undefined'; // 1
// var ai_debug = false;
$(".ai-sticky-widget").each (function () {
var widget = $(this);
if (sticky_widget_mode == AI_STICKY_WIDGET_MODE_CSS_PUSH) {
widget.find ('.' + ai_block_class_def).css ("position", "sticky").css ("position", "-webkit-sticky").css ("top", sticky_widget_margin);
widget.find ('.ai-sticky-space').css ("height", window.innerHeight + 'px');
} else {
var widget_width = widget.width();
if (ai_debug) console.log ('');
if (ai_debug) console.log ("WIDGET:", widget.width (), widget.prop ("tagName"), widget.attr ("id"));
var already_sticky_js = false;
var sidebar = widget.parent ();
while (sidebar.prop ("tagName") != "BODY") {
if (sidebar.hasClass ('theiaStickySidebar')) {
already_sticky_js = true;
break;
}
if (ai_debug) console.log ("SIDEBAR:", sidebar.width (), sidebar.prop ("tagName"), sidebar.attr ("id"));
var parent_element = sidebar.parent ();
var parent_element_width = parent_element.width();
if (parent_element_width > widget_width * 1.2 || parent_element_width > document_width / 2) break;
sidebar = parent_element;
}
if (already_sticky_js) {
if (ai_debug) console.log ("JS STICKY SIDEBAR ALREADY SET");
return;
}
var new_sidebar_top = sidebar.offset ().top - widget.offset ().top + sticky_widget_margin;
if (ai_debug) console.log ("NEW SIDEBAR TOP:", new_sidebar_top);
if (sticky_widget_mode == AI_STICKY_WIDGET_MODE_CSS) {
// CSS
if (sidebar.css ("position") != "sticky" || isNaN (parseInt (sidebar.css ("top"))) || sidebar.css ("top") < new_sidebar_top) {
sidebar.css ("position", "sticky").css ("position", "-webkit-sticky").css ("top", new_sidebar_top);
if (ai_debug) console.log ("CSS STICKY SIDEBAR, TOP:", new_sidebar_top);
}
else if (ai_debug) console.log ("CSS STICKY SIDEBAR ALREADY SET");
} else
if (sticky_widget_mode == AI_STICKY_WIDGET_MODE_JS) {
// Javascript
sidebar.theiaStickySidebar({
additionalMarginTop: new_sidebar_top,
sidebarBehavior: 'stick-to-top',
});
if (ai_debug) console.log ("JS STICKY SIDEBAR, TOP:", new_sidebar_top);
}
}
});
};
if (typeof ai_sticky_sidebar_delay == 'undefined') {
ai_sticky_sidebar_delay = 200;
}
setTimeout (function() {
ai_set_sidebars ($);
}, ai_sticky_sidebar_delay);
});