Diff: STRATO-apps/wordpress_03/app/wp-content/themes/blocksy/static/js/frontend/animated-element.js
Keine Baseline-Datei – Diff nur gegen leer.
1
-
1
+
let io = null
2
+
3
+
if (window.IntersectionObserver) {
4
+
io = new IntersectionObserver((entries) =>
5
+
entries
6
+
.filter(({ isIntersecting }) => isIntersecting)
7
+
.map(({ target }) => target)
8
+
.filter((el) => (el.dataset.reveal || '').indexOf('no') > -1)
9
+
.map((el, index) => {
10
+
let hasBottom = (el.dataset.reveal || '').indexOf('bottom') > -1
11
+
12
+
if (hasBottom) {
13
+
el.dataset.reveal = `yes:${index + 1}`
14
+
} else {
15
+
el.dataset.reveal = `yes`
16
+
}
17
+
})
18
+
)
19
+
}
20
+
21
+
export const watchLayoutContainerForReveal = (layoutEl) => {
22
+
if (!window.IntersectionObserver) {
23
+
return
24
+
}
25
+
26
+
let items = layoutEl.querySelectorAll('[data-reveal*="no"]')
27
+
28
+
if (items.length === 0) return
29
+
if (!items[0].dataset.reveal) return
30
+
;[...items].map((el) => io.observe(el))
31
+
}
32
+