PageSourceSearch

https://ex-tech.org/assets2/vendor/youtube-video-fullscreen-background/youtube-background.js?v=1.1.2

js ex-tech.org collected 2026-10-02 02:04:13 UTC 5,432 bytes, 140 lines download raw bytes

1 jQuery(document).ready(function() {
2        
3        const groupElements = document.querySelectorAll('.js-vbg-group');
4
5        for (let i = 0; i < groupElements.length; i++) {
6          const groupElement = groupElements[i];
7          const elements = groupElement.querySelectorAll('[data-vbg]');
8
9          for (let j = 0; j < elements.length; j++) {
10            elements[j].addEventListener('video-background-state-change', function(event) {
11              const id = event.target.getAttribute('id');
12              console.log(id, event.detail.type, event.detail.currentState);
13            });
14
15            elements[j].addEventListener('video-background-ready', function(event) {
16              const id = event.target.getAttribute('id');
17              console.log('ready', id, event.detail.type, event.detail.currentState);
18            });
19          }
20        }
21
22        jQuery('[data-vbg]').youtube_background();
23
24        const groups = new VideoBackgroundGroups(groupElements);
25
26        for (const i in groups.instances) {
27          const group = groups.instances[i].element;
28          const vbgroup = groups.instances[i];
29
30          const groupPrev = group.querySelector('.group-prev');
31          const groupNext = group.querySelector('.group-next');
32          const groupPlay = group.querySelector('.group-play');
33          const groupPause = group.querySelector('.group-pause');
34          const groupMute = group.querySelector('.group-mute');
35          const groupUnmute = group.querySelector('.group-unmute');
36          const groupFullscreen = group.querySelector('.group-fullscreen');
37
38          groupPrev.addEventListener('click', function() {
39            vbgroup.prev();
40          }) 
41
42          groupNext.addEventListener('click', function() {
43            vbgroup.next();
44          })
45
46          groupPlay.addEventListener('click', function() {
47            vbgroup.play();
48          })
49
50          groupPause.addEventListener('click', function() {
51            vbgroup.pause();
52          })
53
54          groupMute.addEventListener('click', function() {
55            vbgroup.mute();
56          })
57
58          groupUnmute.addEventListener('click', function() {
59            vbgroup.unmute();
60          })
61
62          groupFullscreen.addEventListener('click', function() {
63            console.log(vbgroup.currentElement.closest('.js-vbg-group'));
64            vbgroup.currentElement.closest('.js-vbg-group').webkitRequestFullscreen();
65          })
66        }
67      });
68
69      const vbgs = document.querySelectorAll('[data-vbg]');
70      //for (let i = 0; i < vbgs.length; i++) {
71        //vbgs[i].addEventListener('video-background-state-change', function(event) {
72          //const id = event.target.getAttribute('id');
73          //console.log(id, event.detail.type, event.detail.currentState);
74        //});
75
76        /*
77        vbgs[i].addEventListener('video-background-time-update', function(event) {
78          const id = event.target.getAttribute('id');
79          console.log(id, event.detail.type, event.detail.percentComplete);
80        });
81        */
82      //}
83
84      const srcChangeButtons = document.querySelectorAll('.src-change-button');
85
86      for (let i = 0; i < srcChangeButtons.length; i++) {
87        srcChangeButtons[i].addEventListener('click', function(event) {
88          const target = event.target;
89          const src = target.getAttribute('data-src');
90          const vbgElem = target.closest('.example-marquee').querySelector('[data-vbg]');
91          if (!vbgElem) return;
92          const uid = vbgElem.getAttribute('data-vbg-uid');
93          if (!uid) return;
94
95          window.VIDEO_BACKGROUNDS.index[uid].setSource(src);
96        })
97      }
98
99      const destroyBtns = document.querySelectorAll('.vbg-destroy');
100      for (let i = 0; i < destroyBtns.length; i++) {
101        destroyBtns[i].addEventListener('click', function(event) {
102          const target = event.target;
103          const selector = target.getAttribute('data-selector');
104          const vbgElem = document.querySelector(selector);
105          window.VIDEO_BACKGROUNDS.destroy(vbgElem);
106        })
107      }
108
109      const initBtns = document.querySelectorAll('.vbg-initialize');
110      for (let i = 0; i < initBtns.length; i++) {
111        initBtns[i].addEventListener('click', function(event) {
112          const target = event.target;
113          const selector = target.getAttribute('data-selector');
114          const src = target.getAttribute('data-src');
115          const vbgElem = document.querySelector(selector);
116
117          if (!vbgElem) return;
118          if (vbgElem.getAttribute('data-vbg-uid')) window.VIDEO_BACKGROUNDS.destroy(vbgElem);
119
120          if (src) {
121            vbgElem.setAttribute('data-vbg', src);
122          }
123          window.VIDEO_BACKGROUNDS.add(vbgElem);
124        })
125      }
126
127      const seekInputs = document.querySelectorAll('.seek-bar-wrapper');
128      for (let i = 0; i < seekInputs.length; i++) {
129        new SeekBar(seekInputs[i]);
130      }
131
132      const playToggle = document.querySelectorAll('.toggle-play-button');
133      for (let i = 0; i < playToggle.length; i++) {
134        new PlayToggle(playToggle[i]);
135      }
136
137      const muteToggle = document.querySelectorAll('.toggle-mute-button');
138      for (let i = 0; i < muteToggle.length; i++) {
139        new MuteToggle(muteToggle[i]);
140      }

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.