|
|
const scaleFunc = (id, scale) => { if (['#case_detail_container', '#hardware_detail_container'].includes(id)) { document.querySelector(id).style['transform-origin'] = 'center top' } else { document.querySelector(id).style['transform-origin'] = 'center center' }
document.querySelector(id).style.transform = `scale(${scale})` handleBottomFont(id, scale) handleImgScale(id, scale) handleCooperation(id, scale) handleContactUs(id, scale) handleSwiper(id, scale) }
export const handleScreenAuto = id => { const designDraftWidth = 1920 //设计稿的宽度
const designDraftHeight = 1080 //设计稿的高度
//根据屏幕的变化适配的比例
let scale = 1
if (document.documentElement.clientWidth > designDraftWidth) { document.documentElement.clientWidth / document.documentElement.clientHeight < designDraftWidth / designDraftHeight ? 1 : document.documentElement.clientHeight / designDraftHeight } else { scale = document.documentElement.clientWidth / document.documentElement.clientHeight < designDraftWidth / designDraftHeight ? document.documentElement.clientWidth / designDraftWidth : document.documentElement.clientHeight / designDraftHeight } // if (document.querySelector(id)) {
// const divWidth = document.querySelector(id).style.width * scale
// const divHeight = document.querySelector(id).style.height * scale
// if (divWidth > document.documentElement.clientWidth) {
// scale = document.documentElement.clientHeight / 1200
// }
// if (divHeight > document.documentElement.clientHeight) {
// scale = document.documentElement.clientWidth / 2020
// }
// if (
// divWidth > document.documentElement.clientWidth &&
// divHeight > document.documentElement.clientHeight
// ) {
// scale = document.documentElement.clientHeight / 1200
// }
// }
scaleFunc(id, scale) }
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 handleContactUs = (id, scale) => { if (id == '#contractus_container') { document.getElementById('contact_circle').style.transform = `scale(${ 1 / scale })`
document.getElementById('contact_hand').style.transform = `scale(${ 1 / scale })`
} }
const handleSwiper = (id, scale) => { if (id == '#case_picture') { document.querySelector('#wrapper_case_picture_id').style[ 'transform-origin' ] = 'center top' document.getElementById( 'wrapper_case_picture_id', ).style.transform = `scale(${1 / scale})` } if (id == '#hardware_picture_list') { document.querySelector('#hardware_swiper_scale_id').style[ 'transform-origin' ] = 'center top' document.getElementById( 'hardware_swiper_scale_id', ).style.transform = `scale(${1 / scale})` } }
const handleCooperation = (id, scale) => { if (id == '#cooperation_container') { document.getElementById('contract_bg_coop').style['transform-origin'] = 'center 0' document.getElementById('contract_bg_coop').style.transform = `scale(${ 1 / scale })`
document.getElementById('contract_real_coop').style['transform-origin'] = 'center 0' document.getElementById( 'contract_real_coop', ).style.transform = `scale(${0.8})` } }
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 = async (activeIndex, previousIndex) => { const isDown = previousIndex < activeIndex const aniName = isDown ? 'fadeInUp' : 'fadeInDown' if (activeIndex == 1) { animateCSS('#servive_big_title_ani', aniName) } if (activeIndex == 2) { animateCSS('#cooperation_ani', aniName) } if (activeIndex == 3) { animateCSS('#case_picture_list_ani', aniName) } if (activeIndex == 5) { animateCSS('#contract_ani', aniName) } if (activeIndex == 7) { animateCSS('#software_b_ani', aniName) animateCSS('#software_c_ani', aniName) } if (activeIndex == 8) { animateCSS('#hardware_detail_ani', aniName) } if (activeIndex == 9) { animateCSS('#webofthing_ani', aniName) animateCSS('#webofthing_img_ani', aniName) } if (activeIndex == 10) { animateCSS('#mechanical_control_ani', aniName) } if (activeIndex == 11) { animateCSS('#mechanical_drive_ani', aniName) } if (activeIndex == 12) { animateCSS('#read_widely_ani', aniName) } if (activeIndex == 13) { animateCSS('#culture_ani', aniName) } if (activeIndex == 14) { animateCSS('#post_page_title_ani', aniName) } if (activeIndex == 16) { animateCSS('#contract_info_ani', aniName) animateCSS('#contact_hand', aniName) } }
// export const totalTitleAni = (activeIndex, previousIndex) => {
// if (activeIndex == 1) {
// animateCSS('#main_img', 'fadeInUp')
// animateCSS('#slide_five_desc_ani', 'fadeInUp')
// }
// if (activeIndex == 2) {
// animateCSS('#slide_two_ani', 'fadeInDown')
// }
// if (activeIndex == 3) {
// animateCSS('#slide_one_ani', 'fadeInDown')
// }
// if (activeIndex == 4) {
// animateCSS('#slide_four_ani', 'fadeInDown')
// }
// if (activeIndex == 5) {
// animateCSS('#slide_three_ani', 'fadeInDown')
// }
// }
|