|
@@ -22,7 +22,7 @@
|
|
|
</ul>
|
|
|
|
|
|
<div class="hotspots">
|
|
|
- <swiper :slides-per-view="3" :space-between="10" @swiper="onSwiper" @slideChange="onSlideChange">
|
|
|
+ <swiper :slides-per-view="5" :space-between="10" @swiper="onSwiper" @slideChange="onSlideChange">
|
|
|
<swiper-slide @click="onClickItem(item)" v-for="item in info.hotspots" :key="item">
|
|
|
<div class="himg">
|
|
|
<img :src="getImgUrl(`hotspot/${item.img}`)" alt="">
|
|
@@ -31,7 +31,7 @@
|
|
|
</swiper-slide>
|
|
|
</swiper>
|
|
|
|
|
|
- <template v-if="info.hotspots && info.hotspots.length > 3">
|
|
|
+ <template v-if="info.hotspots && info.hotspots.length > 5">
|
|
|
<img class="navigation left" @click="mySwiper.slidePrev()" :src="getImgUrl('icon_left.png')" alt="">
|
|
|
<img class="navigation right" @click="mySwiper.slideNext()" :src="getImgUrl('icon_right.png')" alt="">
|
|
|
</template>
|
|
@@ -39,6 +39,21 @@
|
|
|
</div>
|
|
|
</div>
|
|
|
</div>
|
|
|
+ <div
|
|
|
+ class="hotspot-icon-wrapper animation-show-hide"
|
|
|
+ v-for="item in info.hotspots"
|
|
|
+ @click="onClickItem(item)"
|
|
|
+ :key="item.id"
|
|
|
+ :style="{
|
|
|
+ left: item.x + ($isRotate ? 'vw' : 'vh'),
|
|
|
+ top: item.y + ($isRotate ? 'vw' : 'vh'),
|
|
|
+ }"
|
|
|
+ >
|
|
|
+ <div
|
|
|
+ class="hotspot-icon"
|
|
|
+ v-if="item.x && item.y"
|
|
|
+ />
|
|
|
+ </div>
|
|
|
</div>
|
|
|
</template>
|
|
|
|
|
@@ -105,7 +120,7 @@ const onClickItem = item => {
|
|
|
height: 100%;
|
|
|
display: flex;
|
|
|
justify-content: flex-start;
|
|
|
-
|
|
|
+ position: relative;
|
|
|
.right-info {
|
|
|
display: flex;
|
|
|
align-items: flex-start;
|
|
@@ -124,7 +139,7 @@ const onClickItem = item => {
|
|
|
text-align: justify;
|
|
|
|
|
|
>li {
|
|
|
- font-size: 0.88rem;
|
|
|
+ font-size: 1rem;
|
|
|
line-height: 1.5;
|
|
|
text-indent: 2rem;
|
|
|
display: inline-block;
|
|
@@ -133,7 +148,7 @@ const onClickItem = item => {
|
|
|
}
|
|
|
|
|
|
.hotspots {
|
|
|
- width: 12rem;
|
|
|
+ width: 20rem;
|
|
|
float: right;
|
|
|
position: relative;
|
|
|
margin-top: 0.8rem;
|
|
@@ -205,5 +220,31 @@ const onClickItem = item => {
|
|
|
height: 80%;
|
|
|
}
|
|
|
}
|
|
|
+ .hotspot-icon-wrapper {
|
|
|
+ position: absolute;
|
|
|
+ .hotspot-icon {
|
|
|
+ --thiscolor: #783435;
|
|
|
+ width: 0.8rem;
|
|
|
+ height: 0.8rem;
|
|
|
+ border-radius: 50%;
|
|
|
+ display: inline-block;
|
|
|
+ background: var(--thiscolor);
|
|
|
+ position: relative;
|
|
|
+ cursor: pointer;
|
|
|
+ &::after {
|
|
|
+ position: absolute;
|
|
|
+ width: 200%;
|
|
|
+ height: 200%;
|
|
|
+ content: '';
|
|
|
+ border-radius: 50%;
|
|
|
+ display: inline-block;
|
|
|
+ border: 1px solid var(--thiscolor);
|
|
|
+ position: absolute;
|
|
|
+ top: 50%;
|
|
|
+ left: 50%;
|
|
|
+ transform: translate(-50%, -50%);
|
|
|
+ }
|
|
|
+ }
|
|
|
+ }
|
|
|
}
|
|
|
</style>
|