1( function( $ ) { 2 3 "use strict"; 4 5 var CounterHandler = function ( $scope, $ ) { 6 var counterElem = $scope.find('.trx-addons-counter').eq(0), 7 target = counterElem.data('target'), 8 separator = $scope.find('.trx-addons-counter-number').data('separator'), 9 separatorChar = $scope.find('.trx-addons-counter-number').data('separator-char'), 10 format = ( separatorChar !== '' ) ? '(' + separatorChar + 'ddd).dd' : '(,ddd).dd'; 11 12 var counter = function () { 13 $(target).each(function () { 14 var to = $(this).data('to'), 15 speed = $(this).data('speed'), 16 od = new Odometer({ 17 el: this, 18 value: 0, 19 duration: speed, 20 format: (separator === 'yes') ? format : '' 21 }); 22 od.render(); 23 setInterval(function () { 24 od.update(to); 25 }); 26 }) 27 }; 28 29 if ( 'undefined' !== typeof elementorFrontend.waypoint ) { 30 elementorFrontend.waypoint( counterElem, counter, { offset: '80%', triggerOnce: true } ); 31 } else { 32 trx_addons_intersection_observer_add( counterElem, function( item, enter ) { 33 if ( enter ) { 34 trx_addons_intersection_observer_remove( item ); 35 if ( ! counterElem.hasClass( 'trx-addons-count-complete' ) ) { 36 counterElem.addClass( 'trx-addons-count-complete' ); 37 counter(); 38 } 39 } 40 } ); 41 } 42 }; 43 44 $( window ).on( 'elementor/frontend/init', function () { 45 elementorFrontend.hooks.addAction( 'frontend/element_ready/trx_elm_counter.default', CounterHandler ); 46 } ); 47 48}( jQuery ) );
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.