Linux heracles.o2switch.net 4.18.0-553.62.1.lve.el8.x86_64 #1 SMP Mon Jul 21 17:50:35 UTC 2025 x86_64
/
home
/
ophq1335
/
www
/
wp-content
/
plugins
/
divi-modules-pro
/
includes
/
modules
/
TimeLine
/
/home/ophq1335/www/wp-content/plugins/divi-modules-pro/includes/modules/TimeLine/custom.js
(function($) { window.addEventListener("load", function() { window.dmpro_updateTimeline(); window.onresize = window.dmpro_updateTimeline; setTimeout(function() { $( window ).trigger("resize"); window.dispatchEvent( new Event('resize') ); }, 500 ); }) window.dmpro_updateTimeline = function() { let last_known_scroll_position = 0 , ticking = false , half_scr_h = screen.height / 2 , tl_el = document.getElementsByClassName("dmpro_timeline") , tl_el_len = tl_el.length , tl_el_objs = new Array(tl_el_len) , tl_ribbon_icons = document.getElementsByClassName("date-icon") , tl_ribbon_icons_len = tl_ribbon_icons.length , tl_ribbon_icons_objs = new Array(tl_ribbon_icons_len); function getCoords(elem) { // crossbrowser version let box = elem.getBoundingClientRect() , body = document.body , docEl = document.documentElement , scrollTop = window.pageYOffset || docEl.scrollTop || body.scrollTop , scrollLeft = window.pageXOffset || docEl.scrollLeft || body.scrollLeft , clientTop = docEl.clientTop || body.clientTop || 0 , clientLeft = docEl.clientLeft || body.clientLeft || 0 , top = box.top + scrollTop - clientTop , left = box.left + scrollLeft - clientLeft; return { top: Math.round(top), left: Math.round(left) }; } for ( var i = 0; i < tl_el_len; i++) { tl_el_objs[i] = {}; tl_el_objs[i].line = tl_el[i].getElementsByClassName("dmpro-timeline-line"); tl_el_objs[i].actline = tl_el[i].getElementsByClassName("dmpro-timeline-line__active"); tl_el_objs[i].el = tl_el[i]; tl_el_objs[i].style = getComputedStyle(tl_el[i]); tl_el_objs[i].coords = getCoords(tl_el[i]); tl_el_objs[i].start = tl_el_objs[i].coords.top > half_scr_h ? tl_el_objs[i].coords.top - half_scr_h : 0; recalculateTimeline( tl_el_objs[i], tl_el[i] ); tl_el_objs[i].line[0].style.top = tl_el_objs[i].innertop + 'px'; if (tl_el_objs[i].actline.length) { tl_el_objs[i].actline[0].style.top = tl_el_objs[i].innertop + 'px' } } for (i = 0; i < tl_ribbon_icons_len; i++) { tl_ribbon_icons_objs[i] = {} tl_ribbon_icons_objs[i].el = tl_ribbon_icons[i] tl_ribbon_icons_objs[i].coords = getCoords(tl_ribbon_icons[i]) tl_ribbon_icons_objs[i].elemRect = tl_ribbon_icons[i].getBoundingClientRect() tl_ribbon_icons_objs[i].height = tl_ribbon_icons_objs[i].elemRect.height // tl_el_objs[i].top = tl_el_objs[i].el.offsetTop tl_ribbon_icons_objs[i].start = tl_ribbon_icons_objs[i].coords.top > half_scr_h ? tl_ribbon_icons_objs[i].coords.top - half_scr_h : 0 } function recalculateTimeline( tl_el_objs, tl_el ) { if ( typeof tl_el === 'undefined' ) { return; } tl_el_objs.elemRect = tl_el.getBoundingClientRect(); tl_el_objs.height = tl_el_objs.elemRect.height; tl_el_objs.first_item = tl_el.querySelectorAll(".dmpro_timeline_item:first-child")[0]; if ( typeof tl_el_objs.first_item === 'undefined' ) { return; } tl_el_objs.first_item_offsetheight = tl_el_objs.first_item.offsetHeight; tl_el_objs.innertop = tl_el_objs.first_item ? tl_el_objs.first_item_offsetheight / 2 : 0; tl_el_objs.first_item_container = $( tl_el_objs.first_item ).find( '.dmpro_timeline_item_container' ); tl_el_objs.first_item_icon_height = $( tl_el_objs.first_item ).find( '.date-icon-wrap' ).height(); if ( $( tl_el_objs.first_item_container ).css( 'align-items' ) === 'start' ) { tl_el_objs.innertop = tl_el_objs.first_item_icon_height; } tl_el_objs.last_item = tl_el.querySelectorAll(".dmpro_timeline_item:last-child")[0]; tl_el_objs.last_item_offsetheight = tl_el_objs.last_item.offsetHeight; tl_el_objs.last_item_icon_height = $( tl_el_objs.last_item ).find( '.date-icon-wrap' ).height(); tl_el_objs.innerbottom = tl_el_objs.last_item ? tl_el_objs.last_item_offsetheight / 2 : 0; tl_el_objs.last_item_container = $( tl_el_objs.last_item ).find( '.dmpro_timeline_item_container' ); if ( $( tl_el_objs.last_item_container ).css( 'align-items' ) === 'start' ) { tl_el_objs.innerbottom = tl_el_objs.last_item_offsetheight - tl_el_objs.last_item_icon_height; } tl_el_objs.end = tl_el_objs.coords.top + tl_el_objs.height - tl_el_objs.innerbottom > half_scr_h ? tl_el_objs.coords.top + tl_el_objs.height - half_scr_h - tl_el_objs.innerbottom : 0; tl_el_objs.line[0].style.bottom = tl_el_objs.innerbottom + 'px'; } function showAnimationLine(scroll_pos) { // Do something with the scroll position for (var i = 0; i < tl_el_len; i++) { if (!tl_el_objs[i].actline.length) { continue; } recalculateTimeline( tl_el_objs[i], tl_el[i] ); if (scroll_pos < tl_el_objs[i].start) { tl_el_objs[i].actline[0].style.bottom = tl_el_objs[i].height; } else if (scroll_pos >= tl_el_objs[i].end) { tl_el_objs[i].actline[0].style.bottom = tl_el_objs[i].innerbottom + 'px'; } else { tl_el_objs[i].actline[0].style.bottom = (tl_el_objs[i].end - scroll_pos + tl_el_objs[i].innerbottom) + 'px'; } } } /* Show hover timeline circle, border, font while scrolling */ function showActiveTimelineIcon(scroll_pos) { for (var i = 0; i < tl_ribbon_icons_len; i++) { if (scroll_pos < tl_ribbon_icons_objs[i].start) { if ( "undefined" !== typeof tl_ribbon_icons[i] ) { tl_ribbon_icons[i].classList.remove("active"); } } else { if ( "undefined" !== typeof tl_ribbon_icons[i] ) { tl_ribbon_icons[i].classList.add("active"); } } } } function updateTimelinePosition(e) { last_known_scroll_position = window.scrollY; if (!ticking) { window.requestAnimationFrame(function() { showAnimationLine(last_known_scroll_position); showActiveTimelineIcon(last_known_scroll_position); ticking = false; }); ticking = true; } } document.removeEventListener( 'scroll', updateTimelinePosition ); document.addEventListener( 'scroll', updateTimelinePosition ); } })(jQuery);