mirror of
https://github.com/Sped0n/bridget.git
synced 2026-04-21 13:39:30 -07:00
add enter overlay event listener now is a function
This commit is contained in:
@@ -26,10 +26,25 @@ let EnterOverlayClickAbCtl = new AbortController()
|
|||||||
|
|
||||||
export const stackDepth: number = 5
|
export const stackDepth: number = 5
|
||||||
|
|
||||||
// activate top image
|
export const addEnterOverlayEL = (e: HTMLImageElement): void => {
|
||||||
const activate = (index: number, mouseX: number, mouseY: number): void => {
|
|
||||||
EnterOverlayClickAbCtl.abort()
|
EnterOverlayClickAbCtl.abort()
|
||||||
EnterOverlayClickAbCtl = new AbortController()
|
EnterOverlayClickAbCtl = new AbortController()
|
||||||
|
e.addEventListener(
|
||||||
|
'click',
|
||||||
|
() => {
|
||||||
|
void enterOverlay()
|
||||||
|
},
|
||||||
|
{
|
||||||
|
passive: true,
|
||||||
|
once: true,
|
||||||
|
signal: EnterOverlayClickAbCtl.signal
|
||||||
|
}
|
||||||
|
)
|
||||||
|
}
|
||||||
|
|
||||||
|
// activate top image
|
||||||
|
const activate = (index: number, mouseX: number, mouseY: number): void => {
|
||||||
|
addEnterOverlayEL(images[index])
|
||||||
const indexesNum: number = pushIndex(
|
const indexesNum: number = pushIndex(
|
||||||
index,
|
index,
|
||||||
trailingImageIndexes,
|
trailingImageIndexes,
|
||||||
@@ -45,17 +60,6 @@ const activate = (index: number, mouseX: number, mouseY: number): void => {
|
|||||||
images[trailingImageIndexes[i]].style.zIndex = `${i}`
|
images[trailingImageIndexes[i]].style.zIndex = `${i}`
|
||||||
}
|
}
|
||||||
images[index].style.display = 'block'
|
images[index].style.display = 'block'
|
||||||
images[index].addEventListener(
|
|
||||||
'click',
|
|
||||||
() => {
|
|
||||||
void enterOverlay()
|
|
||||||
},
|
|
||||||
{
|
|
||||||
passive: true,
|
|
||||||
once: true,
|
|
||||||
signal: EnterOverlayClickAbCtl.signal
|
|
||||||
}
|
|
||||||
)
|
|
||||||
last = { x: mouseX, y: mouseY }
|
last = { x: mouseX, y: mouseY }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -8,7 +8,8 @@ import {
|
|||||||
transformCache,
|
transformCache,
|
||||||
emptyTransformCache,
|
emptyTransformCache,
|
||||||
emptyTrailingImageIndexes,
|
emptyTrailingImageIndexes,
|
||||||
stackDepth
|
stackDepth,
|
||||||
|
addEnterOverlayEL
|
||||||
} from './desktop'
|
} from './desktop'
|
||||||
import { imagesArrayLen } from './dataFetch'
|
import { imagesArrayLen } from './dataFetch'
|
||||||
import { imgIndexSpanUpdate } from './indexDisp'
|
import { imgIndexSpanUpdate } from './indexDisp'
|
||||||
@@ -55,15 +56,17 @@ async function handleCloseClick(): Promise<void> {
|
|||||||
trailingImageIndexes.unshift(calcImageIndex(globalIndex - i, imagesArrayLen))
|
trailingImageIndexes.unshift(calcImageIndex(globalIndex - i, imagesArrayLen))
|
||||||
if (i === 0) {
|
if (i === 0) {
|
||||||
e.style.transitionDelay = '0s, 0.7s'
|
e.style.transitionDelay = '0s, 0.7s'
|
||||||
|
e.dataset.status = 'resumeTop'
|
||||||
} else {
|
} else {
|
||||||
e.style.transitionDelay = `${1.2 + 0.1 * i - 0.1}s`
|
e.style.transitionDelay = `${1.2 + 0.1 * i - 0.1}s`
|
||||||
e.style.display = 'block'
|
e.style.display = 'block'
|
||||||
|
e.dataset.status = 'resume'
|
||||||
}
|
}
|
||||||
e.style.transform = transformCache[indexesNum - i - 1]
|
e.style.transform = transformCache[indexesNum - i - 1]
|
||||||
e.style.zIndex = `${indexesNum - i - 1}`
|
e.style.zIndex = `${indexesNum - i - 1}`
|
||||||
e.dataset.status = i === 0 ? 'resumeTop' : 'resume'
|
|
||||||
}
|
}
|
||||||
await delay(1200 + stackDepth * 100 + 100)
|
await delay(1200 + stackDepth * 100 + 100)
|
||||||
|
addEnterOverlayEL(images[calcImageIndex(globalIndex, imagesArrayLen)])
|
||||||
for (let i: number = 0; i < indexesNum; i++) {
|
for (let i: number = 0; i < indexesNum; i++) {
|
||||||
images[calcImageIndex(globalIndex - i, imagesArrayLen)].dataset.status = 'null'
|
images[calcImageIndex(globalIndex - i, imagesArrayLen)].dataset.status = 'null'
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user