|
@@ -1,8 +1,18 @@
|
|
|
<template>
|
|
|
<div class="son2">
|
|
|
<div class="sonBj1"></div>
|
|
|
- <div class="rowBox" v-for="item in data" :key="item.id" :class="{noPad:item.pad}">
|
|
|
- <div class="row" @click="toInfo(item.id)" :style="`width: ${item.ww};`">
|
|
|
+ <div
|
|
|
+ class="rowBox"
|
|
|
+ v-for="item in data"
|
|
|
+ :key="item.id"
|
|
|
+ :class="{ noPad: item.pad }"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="rowinfo"
|
|
|
+ :class="{ move: item.move }"
|
|
|
+ @click="toInfo(item.id)"
|
|
|
+ :style="`width: ${item.ww};`"
|
|
|
+ >
|
|
|
<img
|
|
|
:style="`height: ${item.hh};`"
|
|
|
:src="require(`@/assets/img/zhanpin/${item.id}.png`)"
|
|
@@ -18,51 +28,35 @@
|
|
|
export default {
|
|
|
name: "son2",
|
|
|
components: {},
|
|
|
+ props: {
|
|
|
+ scrool: {
|
|
|
+ type: Number,
|
|
|
+ default: 0,
|
|
|
+ },
|
|
|
+ },
|
|
|
data() {
|
|
|
//这里存放数据
|
|
|
return {
|
|
|
- data: [
|
|
|
- {
|
|
|
- id: 1,
|
|
|
- name: "清“乾隆”款珐琅蓝彩十三行通景画瓷碗",
|
|
|
- ww: "170px",
|
|
|
- hh: "79px",
|
|
|
- },
|
|
|
- {
|
|
|
- id: 2,
|
|
|
- name: "清光绪二十三年广彩十三行四方瓷瓶",
|
|
|
- ww: "244px",
|
|
|
- hh: "131px",
|
|
|
- },
|
|
|
- { id: 3, name: "清道光广彩人物故事纹瓷碗", ww: "169px", hh: "80px" },
|
|
|
- { id: 4, name: "19世纪镀金人物铜座钟", ww: "132px", hh: "194px" },
|
|
|
- { id: 5, name: "19世纪法国铜鎏金配烛台座钟", ww: "167px", hh: "112px"},
|
|
|
- {
|
|
|
- id: 6,
|
|
|
- name: "19世纪英国皇家定制珐琅彩纹章纹陶茶叶罐",
|
|
|
- ww: "135px",
|
|
|
- hh: "191px",
|
|
|
- },
|
|
|
- {
|
|
|
- id: 7,
|
|
|
- name: "19世纪佚名画家绘茶叶制作组图通草水彩画",
|
|
|
- ww: "242px",
|
|
|
- hh: "175px",
|
|
|
- pad:true
|
|
|
- },
|
|
|
- { id: 8, name: "清“宝丰银局”五十两银锭", ww: "163px", hh: "114px" },
|
|
|
- ],
|
|
|
+ data: [],
|
|
|
+ scroolSon: 0,
|
|
|
};
|
|
|
},
|
|
|
//监听属性 类似于data概念
|
|
|
computed: {},
|
|
|
//监控data中的数据变化
|
|
|
- watch: {},
|
|
|
+ watch: {
|
|
|
+ scrool(val) {
|
|
|
+ this.data.forEach((v) => {
|
|
|
+ if (v.move) return;
|
|
|
+ else if (val > v.moveNum) v.move = true;
|
|
|
+ });
|
|
|
+ },
|
|
|
+ },
|
|
|
//方法集合
|
|
|
methods: {
|
|
|
- toInfo(id){
|
|
|
- this.$router.push(`/info/${id}`)
|
|
|
- }
|
|
|
+ toInfo(id) {
|
|
|
+ this.$router.push(`/info/${id}`);
|
|
|
+ },
|
|
|
},
|
|
|
//生命周期 - 创建完成(可以访问当前this实例)
|
|
|
created() {},
|
|
@@ -74,7 +68,77 @@ export default {
|
|
|
updated() {}, //生命周期 - 更新之后
|
|
|
beforeDestroy() {}, //生命周期 - 销毁之前
|
|
|
destroyed() {}, //生命周期 - 销毁完成
|
|
|
- activated() {}, //如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
+ activated() {
|
|
|
+ this.data = [
|
|
|
+ {
|
|
|
+ id: 1,
|
|
|
+ name: "清“乾隆”款珐琅蓝彩十三行通景画瓷碗",
|
|
|
+ ww: "170px",
|
|
|
+ hh: "79px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 2,
|
|
|
+ name: "清光绪二十三年广彩十三行四方瓷瓶",
|
|
|
+ ww: "244px",
|
|
|
+ hh: "131px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 3,
|
|
|
+ name: "清道光广彩人物故事纹瓷碗",
|
|
|
+ ww: "169px",
|
|
|
+ hh: "80px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 4,
|
|
|
+ name: "19世纪镀金人物铜座钟",
|
|
|
+ ww: "132px",
|
|
|
+ hh: "194px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 5,
|
|
|
+ name: "19世纪法国铜鎏金配烛台座钟",
|
|
|
+ ww: "167px",
|
|
|
+ hh: "112px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 6,
|
|
|
+ name: "19世纪英国皇家定制珐琅彩纹章纹陶茶叶罐",
|
|
|
+ ww: "135px",
|
|
|
+ hh: "191px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 7,
|
|
|
+ name: "19世纪佚名画家绘茶叶制作组图通草水彩画",
|
|
|
+ ww: "242px",
|
|
|
+ hh: "175px",
|
|
|
+ pad: true,
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ {
|
|
|
+ id: 8,
|
|
|
+ name: "清“宝丰银局”五十两银锭",
|
|
|
+ ww: "163px",
|
|
|
+ hh: "114px",
|
|
|
+ move: false,
|
|
|
+ },
|
|
|
+ ];
|
|
|
+ this.$nextTick(() => {
|
|
|
+ setTimeout(() => {
|
|
|
+ let doms = document.querySelectorAll(".rowinfo");
|
|
|
+ let temp = 0;
|
|
|
+ doms.forEach((v, i) => {
|
|
|
+ if (i === 0) temp = v.getBoundingClientRect().top / 2;
|
|
|
+ this.data[i].moveNum = v.getBoundingClientRect().top - temp - 100;
|
|
|
+ });
|
|
|
+ }, 100);
|
|
|
+ });
|
|
|
+ }, //如果页面有keep-alive缓存功能,这个函数会触发
|
|
|
};
|
|
|
</script>
|
|
|
<style lang='less' scoped>
|
|
@@ -83,7 +147,10 @@ export default {
|
|
|
padding: 0 24px;
|
|
|
margin-bottom: 50px;
|
|
|
display: flex;
|
|
|
- .row {
|
|
|
+ .rowinfo {
|
|
|
+ opacity: 0;
|
|
|
+ transition: all 1s ease-out;
|
|
|
+ transform: translateX(-400px);
|
|
|
& > img {
|
|
|
width: 100%;
|
|
|
}
|
|
@@ -96,11 +163,18 @@ export default {
|
|
|
line-height: 24px;
|
|
|
}
|
|
|
}
|
|
|
- &:nth-of-type(2n+1){
|
|
|
- justify-content: flex-end
|
|
|
+ .move {
|
|
|
+ opacity: 1;
|
|
|
+ transform: translateX(0px) !important;
|
|
|
+ }
|
|
|
+ &:nth-of-type(2n + 1) {
|
|
|
+ justify-content: flex-end;
|
|
|
+ .rowinfo {
|
|
|
+ transform: translateX(400px);
|
|
|
+ }
|
|
|
}
|
|
|
}
|
|
|
- .noPad{
|
|
|
+ .noPad {
|
|
|
padding: 0;
|
|
|
}
|
|
|
}
|