PageSourceSearch

https://www.osaka.com/wp-content/plugins/team-member-block/assets/js/eb-animation-load.js?ver=1.3.0

js osaka.com collected 2026-10-02 12:25:09 UTC 2,526 bytes, 77 lines download raw bytes

1var isInViewport = function (elem) {
2    var distance = elem.getBoundingClientRect();
3    return (
4        distance.top >= 0 &&
5        distance.top <= (window.innerHeight || document.documentElement.clientHeight) &&
6        distance.left >= 0 &&
7        // distance.bottom <= (window.innerHeight || document.documentElement.clientHeight) &&
8        distance.right <= (window.innerWidth || document.documentElement.clientWidth)
9    );
10};
11// read the link on how above code works
12
13window.addEventListener('DOMContentLoaded', (event) => {
14    var keySelector = '.eb___animated';
15    waitForElement(keySelector).then((elm) => {
16
17        var findAnimationClass = document.querySelectorAll(keySelector);
18        replaceAnimationClasses(findAnimationClass);
19
20        window.addEventListener('scroll', function (event) {
21            replaceAnimationClasses(findAnimationClass);
22        }, true);
23    });
24
25    //For Admin Panel
26    window.addEventListener('DOMNodeInserted', (event) => {
27        var adminChangeSelector = document.getElementById('eb-animation-style');
28
29        if (adminChangeSelector) {
30            adminChangeSelector.addEventListener('change', function (event) {
31                setTimeout(function () {
32                    replaceAnimationClasses(document.querySelectorAll(keySelector));
33                }, 500);
34            }, true);
35        }
36    });
37});
38
39
40
41var replaceAnimationClasses = function (selector) {
42    selector.forEach(element => {
43        if (isInViewport(element)) {
44            let toRemoveClasses = [];
45            let toAddClasses = [];
46            element.classList.forEach((classname) => {
47                if (classname.includes('eb___')) {
48                    toRemoveClasses.push(classname);
49                    toAddClasses.push(classname.replace('eb___', 'eb__'));
50                }
51            })
52            element.classList.add(...toAddClasses);
53            element.classList.remove(...toRemoveClasses);
54        }
55    });
56}
57
58//
59var waitForElement = function (selector) {
60    return new Promise(resolve => {
61        if (document.querySelector(selector)) {
62            return resolve(document.querySelector(selector));
63        }
64
65        const observer = new MutationObserver(mutations => {
66            if (document.querySelector(selector)) {
67                resolve(document.querySelector(selector));
68                observer.disconnect();
69            }
70        });
71
72        observer.observe(document.body, {
73            childList: true,
74            subtree: true
75        });
76    });
77}

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.