You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
97 lines
3.0 KiB
97 lines
3.0 KiB
export const handleScreenAuto = (showEmpty, id) => {
|
|
const clientWidth = document.documentElement.clientWidth
|
|
const clientHeight = document.documentElement.clientHeight
|
|
if (clientWidth > 1600) {
|
|
if (clientHeight < 1080) {
|
|
const scale = clientHeight / 1080
|
|
document.querySelector(id).style.transform = `scale(${scale})`
|
|
handleBottomFont(id, scale)
|
|
handleImgScale(id, scale)
|
|
handleCooperation(id, scale)
|
|
handleSwiper(id, scale)
|
|
showEmpty.value = false
|
|
} else {
|
|
if (clientHeight >= 1764) {
|
|
const scale = 1323 / clientHeight
|
|
document.querySelector(id).style.transform = `scale(${scale})`
|
|
handleBottomFont(id, scale)
|
|
handleImgScale(id, scale)
|
|
handleCooperation(id, scale)
|
|
handleSwiper(id, scale)
|
|
showEmpty.value = false
|
|
} else {
|
|
if (clientHeight >= 1323) {
|
|
const scale = 1176 / clientHeight
|
|
document.querySelector(id).style.transform = `scale(${scale})`
|
|
handleBottomFont(id, scale)
|
|
handleImgScale(id, scale)
|
|
handleCooperation(id, scale)
|
|
handleSwiper(id, scale)
|
|
showEmpty.value = false
|
|
} else {
|
|
const scale = 1080 / clientHeight
|
|
document.querySelector(id).style.transform = `scale(${scale})`
|
|
handleBottomFont(id, scale)
|
|
handleImgScale(id, scale)
|
|
handleCooperation(id, scale)
|
|
handleSwiper(id, scale)
|
|
showEmpty.value = false
|
|
}
|
|
}
|
|
}
|
|
} else {
|
|
showEmpty.value = true
|
|
}
|
|
}
|
|
|
|
const handleBottomFont = (id, scale) => {
|
|
if (id == '#service_container') {
|
|
document.getElementById('bottom_container').style.transform = `scaleX(${
|
|
1 / scale
|
|
})`
|
|
document.getElementById(
|
|
'bottom_font_save',
|
|
).style.transform = `scale(${scale})`
|
|
}
|
|
}
|
|
|
|
const handleImgScale = (id, scale) => {
|
|
if (id == '#culture_container') {
|
|
document.getElementById('bg_img_scale').style.transform = `scale(${
|
|
1 / scale
|
|
})`
|
|
}
|
|
}
|
|
|
|
const handleCooperation = (id, scale) => {
|
|
if (id == '#cooperation_container') {
|
|
document.getElementById('contract_bg_coop').style.transform = `scale(${
|
|
1 / scale
|
|
})`
|
|
document.getElementById(
|
|
'contract_real_coop',
|
|
).style.transform = `scale(${scale})`
|
|
}
|
|
}
|
|
|
|
export const animateCSS = (element, animation, prefix = 'animate__') =>
|
|
// We create a Promise and return it
|
|
new Promise((resolve, reject) => {
|
|
const animationName = `${prefix}${animation}`
|
|
const node = document.querySelector(element)
|
|
node?.classList.add(`${prefix}animated`, animationName)
|
|
// When the animation ends, we clean the classes and resolve the Promise
|
|
function handleAnimationEnd(event) {
|
|
event.stopPropagation()
|
|
node?.classList.remove(`${prefix}animated`, animationName)
|
|
resolve('Animation ended')
|
|
}
|
|
node?.addEventListener('animationend', handleAnimationEnd, {
|
|
once: true,
|
|
})
|
|
})
|
|
|
|
// 根据 activeIndex 判断激活哪个元素的动画
|
|
export const totalPageAni = () => {
|
|
animateCSS('#a', 'bounce')
|
|
}
|