Blame view

website/src/views/about/index.js 5.96 KB
wangtao authored
1
import pageInit from "../../minixs/pageInit.js";
2
import {culturalValuesDatas,culturalDatas,imgsDatas,introDatas} from  "../../../../assets/img/data/aboutData.js";
3 4 5
export default {
    name: 'home',
    template: '',
wangtao authored
6
    mixins:[pageInit],
7 8 9
    components: {},
    props: [],
    setup(props, {attrs, slots, emit}) {
10
        const {proxy} = Vue.getCurrentInstance();
11 12
        let culturalValuesData=Vue.ref(culturalValuesDatas());
        let culturalData=Vue.ref(culturalDatas());
13
        let introData=Vue.ref(introDatas());
14
        var imgs = Vue.ref(imgsDatas());
15 16
        let flag =Vue.ref(true);
        let i=Vue.ref(0);
17
        let setWrap = (Y,type) =>{
18
            let hei=$('.wrap-container>section').first().outerHeight();
19 20
            let heiF=$('.footer-section-con').outerHeight();
            let sectionLength=$('.wrap-container>section').length;
21
            $('.wrap-container section:nth-child('+(i.value+1)+') .wow').removeAttr('style');
22 23
            // 控制滑动一次
            if(flag.value){
24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48
                if(type == 'mouse'){
                    // 上滑
                    if(Y<0){
                        // 不能上滑了
                        if(i.value>0){
                            i.value--;
                            flag.value = false;
                            $('.wrap-container').animate({top:-i.value*hei},1000,function(){
                                flag.value=true;
                            })
                        }
                    }//下滑
                    else{
                        // 这个if让它不能让下继续滑动
                        if(i.value<7){
                            i.value++;
                            flag.value = false;
                            let top=-i.value*hei;
                            if(i.value+1==sectionLength){
                                top=-i.value*hei+(hei-heiF);
                            }
                            $('.wrap-container').animate({top:top},1000,function(){
                                flag.value=true;
                            })
                        }
49
                    }
50
                }else if(type=='touchDown'){
51 52 53 54
                    // 这个if让它不能让下继续滑动
                    if(i.value<7){
                        i.value++;
                        flag.value = false;
55 56 57 58 59
                        let top=-i.value*hei;
                        if(i.value+1==sectionLength){
                            top=-i.value*hei+(hei-heiF);
                        }
                        $('.wrap-container').animate({top:top},1000,function(){
60 61 62
                            flag.value=true;
                        })
                    }
63 64 65 66 67 68 69 70
                }else if(type=='touchUp'){
                    if(i.value>0){
                        i.value--;
                        flag.value = false;
                        $('.wrap-container').animate({top:-i.value*hei},1000,function(){
                            flag.value=true;
                        })
                    }
71
                }
72
73
            }
74 75
        }
        let MousewheelFun=(e)=>{
76 77 78
            if($(window).width()>767){
                setWrap(e.deltaY,'mouse')
            }
79 80 81
            setTimeout(function (){
                setNavStyle();
            },700)
82 83 84
        }
        // 设置导航的样式
        let setNavStyle=()=>{
85
            if(i.value==1 || i.value==2 || i.value==4 || i.value==6){
86 87 88 89 90 91
                $('.navigation').removeClass('navigation-white');
                $('.logo-outer .hg-logo').attr('src','assets/img/logo.png');

            }else{
                $('.navigation').addClass('navigation-white');
                $('.logo-outer .hg-logo').attr('src','assets/img/logo-footer.png');
92
93 94
            }
        }
95 96 97 98 99 100 101 102 103 104
        //移动端滑动
        let startX=Vue.ref(0);
        let startY=Vue.ref(0);
        let endX=Vue.ref(0);
        let endY=Vue.ref(0)
        let touchFunStart =(e)=>{
            startX.value=e.touches[0].pageX;
            startY.value=e.touches[0].pageY;
        }
        let touchFun =(e)=>{
105 106 107 108 109 110 111 112
            if($(window).width()>767){
                endX.value=e.changedTouches[0].pageX;
                endY.value=e.changedTouches[0].pageY;
                let X=endX.value-startX.value;
                let Y=endY.value-startY.value;
                if(Math.abs(Y) > Math.abs(X) && Y>0){
                    //向下
                    setWrap(e.deltaY,'touchUp')
113
114 115 116
                }else if(Math.abs(Y) > Math.abs(X) && Y<0){
                    //向上
                    setWrap(e.deltaY,'touchDown')
117
118
                }
119
            }
120
121
        }
122 123
        //联系方式是否出现
        let isConcat=Vue.ref(false);
124 125 126 127 128
        //设置从footer进入页面的显示位置
        let setFormFooter=(item)=>{
            let id=proxy.$route.params.id;
            if(item){
                id=item;
129
            }
130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149
            if(id){
                i.value=id;
                let hei=$('.wrap-container>section').first().outerHeight();
                flag.value = false;
                $('.wrap-container').animate({top:-i.value*hei},1000,function(){
                    flag.value=true;
                })
                setTimeout(function (){
                    $('.wrap-container section:nth-child('+(Number(i.value)+1)+') .wow').removeAttr('style');
                    $('.about-widget-content li a').unbind('click.about').on('click.about',function (){
                        setFormFooter($(this).data('id'));
                    })
                    setNavStyle()
                },300)

            }
        }
        Vue.onMounted(() =>{
            setFormFooter();
150
        })
151 152 153


        return {
154 155 156 157 158
            imgs,
            culturalValuesData,
            culturalData,
            MousewheelFun,
            flag,
159
            i,
160 161
            isConcat,
            setNavStyle,
162 163 164 165 166 167
            setFormFooter,
            touchFun,
            touchFunStart,
            startX,
            startY,
            endX,
168 169
            endY,
            introData
170 171
        }
172 173 174
    }

}