You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
yanzong_qianduan/components/page/diyComponents/hotZone/index.vue

67 lines
1.3 KiB

5 months ago
<template>
<!-- 热区 -->
<view class="diy-hotZone"
:style="{ paddingBottom: `${itemStyle.paddingTop * 2}rpx`, background: itemStyle.background }">
<view class="bg-image" :style="{ padding: `${itemStyle.paddingTop * 2}rpx ${itemStyle.paddingLeft * 2}rpx 0` }">
<image class="image" :src="data.imgUrl" mode="widthFix"></image>
</view>
<view class="zone-item" v-for="(item, index) in data.maps" :key="index"
:style="{ width: `${item.width}rpx`, height: `${item.height}rpx`, left: `${item.left}rpx`, top: `${item.top}rpx` }"
@click="onLink(item.link)">
</view>
</view>
</template>
<script>
import mixin from '../mixin'
export default {
/**
* 组件的属性列表
* 用于组件自定义设置
*/
props: {
itemIndex: String,
itemStyle: Object,
params: Object,
data: Object
},
mixins: [mixin],
/**
* 组件的方法列表
* 更新属性和数据的方法与更新页面数据的方法类似
*/
methods: {
}
}
</script>
<style lang="scss" scoped>
.diy-hotZone {
position: relative;
width: 100%;
overflow: hidden;
}
.bg-image {
width: 100%;
z-index: 1;
.image {
display: block;
width: 100%;
}
}
.zone-item {
position: absolute;
z-index: 2;
// background-color: red;
}
</style>