index.js 2.89 KB
import pageInit from "../../../minixs/pageInit.js";
import {securityLog} from "../../../../assets/img/data/serviceSecond.js";
export default {
    name: 'securityLog',
    template: '',
    mixins:[pageInit],
    components: {},
    props: [],
    setup(props, {attrs, slots, emit}) {
        let securityLogData=securityLog();
        //页签高亮显示
        let tabActive=Vue.ref(0);
        //特点hover显示的图片
        let characterImg=Vue.ref();
        let setcharacter=()=>{
            if(securityLogData.data && securityLogData.data.length>0){
                securityLogData.data.map(item=>{
                    if(item.type=='character'){
                        characterImg.value=item.dataFour[0].img
                    }
                })
            }
        }
        setcharacter();
        //优势hover高亮显示
        let characterActive=Vue.ref(0);
        //优势是否hover
        let isMouseover=Vue.ref(false);
        //优势鼠标移入事件
        let showHover=(indexA)=>{
            characterActive.value=indexA;
            isMouseover.value=true;
            if(securityLogData.data && securityLogData.data.length>0){
                securityLogData.data.map(item=>{
                    if(item.type=='character'){
                        characterImg.value=item.dataFour[indexA].img
                    }
                })
            }
        }
        //优势鼠标移出事件
        let hideHover=()=>{
            characterActive.value=0;
            isMouseover.value=false;
            setcharacter();
        }
        //页签点击跳转到对应的目标
        let goItemType=(type)=>{
            let top=$("[data-type='"+type+"']").offset().top;
            let total=top-100;
            console.log("top",top,document.body.scrollTop,document.documentElement.scrollTop)
            let distance = document.documentElement.scrollTop || document.body.scrollTop
            //计算每一小段的距离
            let step=total/6;
            (function smoothDown (){
                if(distance < total){
                    distance += step;
                    //移动一小段
                    document.body.scrollTop =distance;
                    document.documentElement.scrollTop = distance;
                    //设定每一次跳到的时间间隔为10ms
                    setTimeout(smoothDown,10)
                }else{
                    //限制股东停止的距离
                    document.body.scrollTop = total;
                    document.documentElement.scrollTop = total;
                }
            })()
        }
        // 挂载完
        Vue.onMounted(() => {

        })

        return {
            characterImg,
            securityLogData,
            tabActive,
            characterActive,
            isMouseover,
            showHover,
            hideHover,
            setcharacter,
            goItemType
        }
    }

}