clone 开源的 Shopping
This commit is contained in:
183
mobile-web/src/components/page/cube.vue
Normal file
183
mobile-web/src/components/page/cube.vue
Normal file
@@ -0,0 +1,183 @@
|
||||
<template>
|
||||
<div class="cap-cube" style="font-size:100%;width:100%;">
|
||||
<div v-for="(item,index) in data.images" :key="index" class="cap-cube__item" :style="'width:'+item.imgwidth+'rem;'+item.style">
|
||||
<a :href="item.link">
|
||||
<img :src="item.src+'?w=375'" :style="'width:'+item.imgwidth+'rem;'" />
|
||||
</a>
|
||||
</div>
|
||||
<div style="clear:both;"></div>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<script>
|
||||
export default {
|
||||
name: "cube",
|
||||
props: {
|
||||
data: Object
|
||||
},
|
||||
created: function() {
|
||||
var gap = this.data.imagegap;
|
||||
var margin = gap / 2;
|
||||
var width = 375;
|
||||
var max = 0;
|
||||
switch (this.data.type) {
|
||||
case "1":
|
||||
max = 2;
|
||||
width = (width - margin * 2) / 2;
|
||||
break;
|
||||
case "2":
|
||||
max = 3;
|
||||
width = (width - margin * 4) / 3;
|
||||
break;
|
||||
case "3":
|
||||
max = 4;
|
||||
width = (width - margin * 6) / 4;
|
||||
break;
|
||||
case "4":
|
||||
max = 4;
|
||||
width = (width - margin * 2) / 2;
|
||||
break;
|
||||
case "5":
|
||||
max = 3;
|
||||
width = (width - margin * 2) / 2;
|
||||
break;
|
||||
case "6":
|
||||
max = 3;
|
||||
width = (width - margin * 2) / 2;
|
||||
break;
|
||||
case "7":
|
||||
max = 4;
|
||||
width = (width - margin * 2) / 2;
|
||||
break;
|
||||
}
|
||||
margin = margin / 50;
|
||||
width = width / 50;
|
||||
var imagelist = [];
|
||||
|
||||
for (var i = 0; i < max; i++) {
|
||||
var imgwidth = width;
|
||||
var item = this.data.imagelist[i];
|
||||
var style = "";
|
||||
switch (this.data.type) {
|
||||
case "1":
|
||||
{
|
||||
if (i == 0) {
|
||||
style = "margin-right:" + margin + "rem;";
|
||||
} else {
|
||||
style = "margin-left:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "2":
|
||||
{
|
||||
if (i == 0) {
|
||||
style = "margin-right:" + margin + "rem;";
|
||||
} else if (i == 1) {
|
||||
style = "margin:0 " + margin + "rem;";
|
||||
} else {
|
||||
style = "margin-left:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "3":
|
||||
{
|
||||
if (i == 0) {
|
||||
style = "margin-right:" + margin + "rem;";
|
||||
} else if (i == 1 || i == 2) {
|
||||
style = "margin:0 " + margin + "rem;";
|
||||
} else {
|
||||
style = "margin-left:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "4":
|
||||
{
|
||||
if (i == 0) {
|
||||
style =
|
||||
"margin-right:" +
|
||||
margin +
|
||||
"rem;margin-bottom:" +
|
||||
margin +
|
||||
"rem;";
|
||||
} else if (i == 1) {
|
||||
style =
|
||||
"margin-left:" +
|
||||
margin +
|
||||
"rem;margin-bottom:" +
|
||||
margin +
|
||||
"rem;";
|
||||
} else if (i == 2) {
|
||||
style =
|
||||
"margin-right:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
} else {
|
||||
style =
|
||||
"margin-left:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "5":
|
||||
{
|
||||
if (i == 0) {
|
||||
style = "margin-right:" + margin + "rem;";
|
||||
} else if (i == 1) {
|
||||
style =
|
||||
"margin-left:" +
|
||||
margin +
|
||||
"rem;margin-bottom:" +
|
||||
margin +
|
||||
"rem;";
|
||||
} else {
|
||||
style =
|
||||
"margin-left:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "6":
|
||||
{
|
||||
if (i == 0) {
|
||||
imgwidth = width * 2;
|
||||
style = "margin-bottom:" + margin + "rem;";
|
||||
} else if (i == 1) {
|
||||
style =
|
||||
"margin-right:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
} else {
|
||||
style =
|
||||
"margin-left:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
case "7":
|
||||
{
|
||||
if (i == 0) {
|
||||
style = "margin-right:" + margin + "rem;";
|
||||
} else if (i == 1) {
|
||||
style =
|
||||
"margin-right:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
} else if (i == 2) {
|
||||
imgwidth = width / 2 - margin;
|
||||
style =
|
||||
"margin-left:" +
|
||||
margin +
|
||||
"rem;margin-top:" +
|
||||
margin +
|
||||
"rem;margin-right:" +
|
||||
margin +
|
||||
"rem";
|
||||
} else {
|
||||
imgwidth = width / 2 - margin;
|
||||
style =
|
||||
"margin-left:" + margin + "rem;margin-top:" + margin + "rem;";
|
||||
}
|
||||
}
|
||||
break;
|
||||
}
|
||||
item.style = style;
|
||||
item.imgwidth = imgwidth;
|
||||
imagelist.push(item);
|
||||
}
|
||||
this.data.images = imagelist;
|
||||
},
|
||||
computed: {}
|
||||
};
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user