| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231 | 
							- <template>
 
- 	<view class="content">
 
- 		<uni-swiper-dot class="uni-swiper-dot-box" @clickItem=clickItem :info="info" :current="current" :mode="mode" :dots-styles="dotsStyles" field="content">
 
- 			<swiper class="swiper-box" @change="change" :current="swiperDotIndex">
 
- 				<swiper-item v-for="(item, index) in 3" :key="index">
 
- 					<view  class="swiper-item" :class="'swiper-item' + index">
 
- 						<text style="color: #fff; font-size: 32px;">{{index+1}}</text>
 
- 					</view>
 
- 				</swiper-item>
 
- 			</swiper>
 
- 		</uni-swiper-dot>
 
- 		<uni-section title="模式选择" type="line">
 
- 			<view class="example-body">
 
- 				<view :class="{ active: modeIndex === 0 }" class="example-body-item" @click="selectMode('default', 0)"><text class="example-body-item-text">default</text></view>
 
- 				<view :class="{ active: modeIndex === 1 }" class="example-body-item" @click="selectMode('dot', 1)"><text class="example-body-item-text">dot</text></view>
 
- 				<view :class="{ active: modeIndex === 2 }" class="example-body-item" @click="selectMode('round', 2)"><text class="example-body-item-text">round</text></view>
 
- 				<view :class="{ active: modeIndex === 3 }" class="example-body-item" @click="selectMode('nav', 3)"><text class="example-body-item-text">nav</text></view>
 
- 				<view :class="{ active: modeIndex === 4 }" class="example-body-item" @click="selectMode('indexes', 4)"><text class="example-body-item-text">indexes</text></view>
 
- 			</view>
 
- 		</uni-section>
 
- 		<uni-section title="颜色样式选择" type="line">
 
- 			<view class="example-body">
 
- 				<template v-if="mode !== 'nav'">
 
- 					<view v-for="(item, index) in dotStyle" :class="{ active: styleIndex === index }" :key="index" class="example-body-item"
 
- 					 @click="selectStyle(index)">
 
- 						<view :style="{ 'background-color': item.selectedBackgroundColor, border: item.selectedBorder }" class="example-body-dots" />
 
- 						<view :style="{ 'background-color': item.backgroundColor, border: item.border }" class="example-body-dots" />
 
- 						<view :style="{ 'background-color': item.backgroundColor, border: item.border }" class="example-body-dots" />
 
- 					</view>
 
- 				</template>
 
- 				<template v-if="mode === 'nav'">
 
- 					<view v-for="(item, index) in dotStyle" :class="{ active: styleIndex === index }" :key="index" :style="{ 'background-color': item.selectedBackgroundColor }"
 
- 					 class="example-body-item" @click="selectStyle(index)">
 
- 						<text class="example-body-item-text" :style="{ color: item.color }">内容</text>
 
- 					</view>
 
- 				</template>
 
- 			</view>
 
- 		</uni-section>
 
- 	</view>
 
- </template>
 
- <script>
 
- 	export default {
 
- 		components: {},
 
- 		data() {
 
- 			return {
 
- 				info: [{
 
- 						colorClass: 'uni-bg-red',
 
- 						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
 
- 						content: '内容 A'
 
- 					},
 
- 					{
 
- 						colorClass: 'uni-bg-green',
 
- 						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
 
- 						content: '内容 B'
 
- 					},
 
- 					{
 
- 						colorClass: 'uni-bg-blue',
 
- 						url: 'https://vkceyugu.cdn.bspapp.com/VKCEYUGU-dc-site/094a9dc0-50c0-11eb-b680-7980c8a877b8.jpg',
 
- 						content: '内容 C'
 
- 					}
 
- 				],
 
- 				dotStyle: [{
 
- 						backgroundColor: 'rgba(0, 0, 0, .3)',
 
- 						border: '1px rgba(0, 0, 0, .3) solid',
 
- 						color: '#fff',
 
- 						selectedBackgroundColor: 'rgba(0, 0, 0, .9)',
 
- 						selectedBorder: '1px rgba(0, 0, 0, .9) solid'
 
- 					},
 
- 					{
 
- 						backgroundColor: 'rgba(255, 90, 95,0.3)',
 
- 						border: '1px rgba(255, 90, 95,0.3) solid',
 
- 						color: '#fff',
 
- 						selectedBackgroundColor: 'rgba(255, 90, 95,0.9)',
 
- 						selectedBorder: '1px rgba(255, 90, 95,0.9) solid'
 
- 					},
 
- 					{
 
- 						backgroundColor: 'rgba(83, 200, 249,0.3)',
 
- 						border: '1px rgba(83, 200, 249,0.3) solid',
 
- 						color: '#fff',
 
- 						selectedBackgroundColor: 'rgba(83, 200, 249,0.9)',
 
- 						selectedBorder: '1px rgba(83, 200, 249,0.9) solid'
 
- 					}
 
- 				],
 
- 				modeIndex: -1,
 
- 				styleIndex: -1,
 
- 				current: 0,
 
- 				mode: 'default',
 
- 				dotsStyles: {},
 
- 				swiperDotIndex: 0
 
- 			}
 
- 		},
 
- 		onLoad() {},
 
- 		methods: {
 
- 			change(e) {
 
- 				this.current = e.detail.current
 
- 			},
 
- 			selectStyle(index) {
 
- 				this.dotsStyles = this.dotStyle[index]
 
- 				this.styleIndex = index
 
- 			},
 
- 			selectMode(mode, index) {
 
- 				this.mode = mode
 
- 				this.modeIndex = index
 
- 				this.styleIndex = -1
 
- 				this.dotsStyles = this.dotStyle[0]
 
- 			},
 
- 			clickItem(e) {
 
- 				this.swiperDotIndex = e
 
- 			},
 
- 			onBanner(index) {
 
- 				console.log(22222, index);
 
- 			}
 
- 		}
 
- 	}
 
- </script>
 
- <style lang="scss">
 
- 	.swiper-box {
 
- 		height: 200px;
 
- 	}
 
- 	.swiper-item {
 
- 		/* #ifndef APP-NVUE */
 
- 		display: flex;
 
- 		/* #endif */
 
- 		flex-direction: column;
 
- 		justify-content: center;
 
- 		align-items: center;
 
- 		height: 200px;
 
- 		color: #fff;
 
- 	}
 
- 	.swiper-item0 {
 
- 		background-color: #cee1fd;
 
- 	}
 
- 	.swiper-item1 {
 
- 		background-color: #b2cef7;
 
- 	}
 
- 	.swiper-item2 {
 
- 		background-color: #cee1fd;
 
- 	}
 
- 	.image {
 
- 		width: 750rpx;
 
- 	}
 
- 	/* #ifndef APP-NVUE */
 
- 	::v-deep .image img {
 
- 		-webkit-user-drag: none;
 
- 		-khtml-user-drag: none;
 
- 		-moz-user-drag: none;
 
- 		-o-user-drag: none;
 
- 		user-drag: none;
 
- 	}
 
- 	/* #endif */
 
- 	@media screen and (min-width: 500px) {
 
- 				.uni-swiper-dot-box {
 
- 					width: 400px;
 
- 					margin: 0 auto;
 
- 					margin-top: 8px;
 
- 				}
 
- 				.image {
 
- 					width: 100%;
 
- 				}
 
- 	}
 
- 	.uni-bg-red {
 
- 		background-color: #ff5a5f;
 
- 	}
 
- 	.uni-bg-green {
 
- 		background-color: #09bb07;
 
- 	}
 
- 	.uni-bg-blue {
 
- 		background-color: #007aff;
 
- 	}
 
- 	.example-body {
 
- 		/* #ifndef APP-NVUE */
 
- 		display: flex;
 
- 		/* #endif */
 
- 		flex-direction: row;
 
- 		padding: 20rpx;
 
- 	}
 
- 	.example-body-item {
 
- 		flex-direction: row;
 
- 		justify-content: center;
 
- 		align-items: center;
 
- 		margin: 15rpx;
 
- 		padding: 15rpx;
 
- 		height: 60rpx;
 
- 		/* #ifndef APP-NVUE */
 
- 		display: flex;
 
- 		padding: 0 15rpx;
 
- 		/* #endif */
 
- 		flex: 1;
 
- 		border-color: #e5e5e5;
 
- 		border-style: solid;
 
- 		border-width: 1px;
 
- 		border-radius: 5px;
 
- 	}
 
- 	.example-body-item-text {
 
- 		font-size: 28rpx;
 
- 		color: #333;
 
- 	}
 
- 	.example-body-dots {
 
- 		width: 16rpx;
 
- 		height: 16rpx;
 
- 		border-radius: 50px;
 
- 		background-color: #333333;
 
- 		margin-left: 10rpx;
 
- 	}
 
- 	.active {
 
- 		border-style: solid;
 
- 		border-color: #007aff;
 
- 		border-width: 1px;
 
- 	}
 
- </style>
 
 
  |