|
|
@@ -0,0 +1,154 @@
|
|
|
+import React, { useCallback, useEffect, useMemo, useRef, useState } from 'react'
|
|
|
+import styles from './index.module.scss'
|
|
|
+import classNames from 'classnames'
|
|
|
+import { baseUrl, myData } from '@/utils/http'
|
|
|
+import { useParams } from 'react-router-dom'
|
|
|
+import A3liuChao1 from '../A3liuChao1'
|
|
|
+import A3liuChao2 from '../A3liuChao2'
|
|
|
+import A4diao from '../A4diao'
|
|
|
+
|
|
|
+function A2main() {
|
|
|
+ // 从首页进来才需要平滑滚动
|
|
|
+
|
|
|
+ const { num } = useParams<{ num: string }>()
|
|
|
+
|
|
|
+ const sorrlRef = useRef<HTMLDivElement>(null)
|
|
|
+
|
|
|
+ // useEffect(() => {
|
|
|
+ // if (sorrlRef.current) {
|
|
|
+ // sorrlRef.current.addEventListener('scroll', e => {
|
|
|
+ // console.log(sorrlRef.current?.scrollTop)
|
|
|
+ // })
|
|
|
+ // }
|
|
|
+ // }, [])
|
|
|
+
|
|
|
+ // 进页面滚动到指定位置
|
|
|
+ useEffect(() => {
|
|
|
+ if (num && sorrlRef.current) {
|
|
|
+ sorrlRef.current.scrollTop = Number(num)
|
|
|
+ }
|
|
|
+ }, [num])
|
|
|
+
|
|
|
+ // ---------------------六朝兴替 石刻为证
|
|
|
+ const [liuAc, setLiuAc] = useState('六朝兴替')
|
|
|
+
|
|
|
+ const liuArr = useMemo(() => {
|
|
|
+ return myData.main.liuChao.arr.find(v => v.name === liuAc)!.son
|
|
|
+ }, [liuAc])
|
|
|
+
|
|
|
+ const [liuPage, setLiuPage] = useState({ key: '', id: 0 })
|
|
|
+
|
|
|
+ const liuClickFu = useCallback(
|
|
|
+ (id: number) => {
|
|
|
+ if (sorrlRef.current) {
|
|
|
+ setLiuPage({ key: liuAc === '六朝兴替' ? '1' : '2', id })
|
|
|
+ }
|
|
|
+ },
|
|
|
+ [liuAc]
|
|
|
+ )
|
|
|
+
|
|
|
+ // ------雕凿天工--------
|
|
|
+ const [diaoId, setDiaoId] = useState(0)
|
|
|
+
|
|
|
+ return (
|
|
|
+ <div className={classNames(styles.A2main, 'hideSorrl')} ref={sorrlRef}>
|
|
|
+ <div className='A2box' style={{ backgroundImage: `url(${baseUrl}main/bg.jpg)` }}>
|
|
|
+ {/* ------------守望千年--------------- */}
|
|
|
+ <div className='A2s1'>
|
|
|
+ <img src={`${baseUrl}main/s_1.png`} alt='' />
|
|
|
+ <div>
|
|
|
+ <p className='kaiFont'>主办单位</p>
|
|
|
+ <p className='kaiFont'>扬州中国大运河博物馆</p>
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className='A2s12' style={{ backgroundImage: `url(${baseUrl}main/s_3.png)` }}>
|
|
|
+ <img className='A2s12_1' src={`${baseUrl}main/s_2.png`} alt='' />
|
|
|
+
|
|
|
+ <div className='A2s12_2' dangerouslySetInnerHTML={{ __html: myData.main.shouWang }}></div>
|
|
|
+
|
|
|
+ <img className='A2s12_3' src={`${baseUrl}main/s_4.png`} alt='' />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* ---------------------六朝兴替 石刻为证 */}
|
|
|
+ <div className='A2l1'>
|
|
|
+ <img className='A2l1_1' src={`${baseUrl}main/l1.png`} alt='' />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className='A2l2' style={{ backgroundImage: `url(${baseUrl}main/l2.png)` }}>
|
|
|
+ <p className='kaiFont' dangerouslySetInnerHTML={{ __html: myData.main.liuChao.tit }}></p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className='A2l3' style={{ backgroundImage: `url(${baseUrl}main/l3.png)` }}>
|
|
|
+ <div className='A2l3_1'>
|
|
|
+ {myData.main.liuChao.arr.map(v => (
|
|
|
+ <div
|
|
|
+ key={v.name}
|
|
|
+ className={classNames(liuAc === v.name ? 'A2l3_1Ac' : '')}
|
|
|
+ onClick={() => setLiuAc(v.name)}
|
|
|
+ >
|
|
|
+ <img className='A2l3_1_1' src={`${baseUrl}main/l4.png`} alt='' />
|
|
|
+ <img className='A2l3_1_2' src={`${baseUrl}main/l4Ac.png`} alt='' />
|
|
|
+ <p className='kaiFont'>{v.name}</p>
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+ <div className='A2l3_2'>
|
|
|
+ {liuArr.map(item => (
|
|
|
+ <div
|
|
|
+ onClick={() => liuClickFu(item.id)}
|
|
|
+ className='A2l3_2_1 kaiFont'
|
|
|
+ style={{ backgroundImage: `url(${baseUrl}main/l5.png)` }}
|
|
|
+ key={item.id}
|
|
|
+ dangerouslySetInnerHTML={{ __html: item.name }}
|
|
|
+ ></div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* ---------------------雕凿天工 翼兽传奇 */}
|
|
|
+ <div className='A2l1'>
|
|
|
+ <img className='A2l1_1' src={`${baseUrl}main/d1.png`} alt='' />
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className='A2l2' style={{ backgroundImage: `url(${baseUrl}main/l2.png)` }}>
|
|
|
+ <p className='kaiFont' dangerouslySetInnerHTML={{ __html: myData.main.chuangQi.tit }}></p>
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div className='A2d1' style={{ backgroundImage: `url(${baseUrl}main/d2.png)` }}>
|
|
|
+ {myData.main.chuangQi.diaoArr.map((item, index) => (
|
|
|
+ <div
|
|
|
+ onClick={() => setDiaoId(item.id)}
|
|
|
+ key={item.id}
|
|
|
+ className={classNames('A2d1row', index > 0 ? `A2d1row${index + 1}` : '')}
|
|
|
+ style={{ backgroundImage: `url(${baseUrl}main/da${index + 1}.png)` }}
|
|
|
+ >
|
|
|
+ <img src={`${baseUrl}main/da${index + 1}x.png`} alt='' />
|
|
|
+ </div>
|
|
|
+ ))}
|
|
|
+ </div>
|
|
|
+
|
|
|
+ <div
|
|
|
+ className='A2d2 kaiFont'
|
|
|
+ dangerouslySetInnerHTML={{ __html: myData.main.chuangQi.tit2 }}
|
|
|
+ ></div>
|
|
|
+
|
|
|
+ {/* end */}
|
|
|
+ </div>
|
|
|
+
|
|
|
+ {/* ---------------------六朝兴替 石刻为证详情页 */}
|
|
|
+ {liuPage.key === '1' ? (
|
|
|
+ <A3liuChao1 id={liuPage.id} closeFu={() => setLiuPage({ key: '', id: 0 })} />
|
|
|
+ ) : liuPage.key === '2' ? (
|
|
|
+ <A3liuChao2 id={liuPage.id} closeFu={() => setLiuPage({ key: '', id: 0 })} />
|
|
|
+ ) : null}
|
|
|
+
|
|
|
+ {/* ---------------------雕凿天工 详情页 */}
|
|
|
+ {diaoId ? <A4diao id={diaoId} closeFu={() => setDiaoId(0)} /> : null}
|
|
|
+ </div>
|
|
|
+ )
|
|
|
+}
|
|
|
+
|
|
|
+const MemoA2main = React.memo(A2main)
|
|
|
+
|
|
|
+export default MemoA2main
|