微信小程序_2

1.swiper的使用

这个类似iOS的滚动视图,里边也可以放一下其他的东西。
先讲一下属性:

属性名 类型 默认值 说明
indicator-dots Boolean false 是否显示面板指示点
autoplay Boolean false 是否自动切换
current Number 0 当前所在页面的 index
interval Number 5000 自动切换时间间隔
duration Number 1000 滑动动画时长
bindchange EventHandle current 改变时会触发 change 事件,event.detail = {current: current}

swiper.js文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
var app = getApp();
Page({
data:{
indicatordos:true,
autoplay:true,
/*图片数组*/
imgUrls: [
'http://img02.tooopen.com/images/20150928/tooopen_sy_143912755726.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175866434296.jpg',
'http://img06.tooopen.com/images/20160818/tooopen_sy_175833047715.jpg',
'http://imgsrc.baidu.com/forum/pic/item/1080fc8b87d6277f026c80b428381f30e824fc46.jpg',
'http://imgsrc.baidu.com/forum/pic/item/2eadcbef76094b366ac0bf0da3cc7cd98c109d84.jpg',
'http://img1.tgbusdata.cn/v2/thumb/jpg/MGNlNiw3MzAsNzMwLDQsMSwxLC0xLDAscms1MA==/u/olpic.tgbusdata.cn/uploads/allimg/130124/62-130124160054.jpg'
],
vertical:true,
},
displaychange:function(event){
console.log(event.detail.current);//输出来当前swiper-item的index
},
changeautodisplay:function(){
this.setData({
autoplay:!this.data.autoplay//设置是否自动播放
})
},
changeindicator:function(){
this.setData({
indicatordos:!this.data.indicatordos//隐藏图片那个点
})
},
changevertical:function(){
this.setData({//设置水平方向
vertical:!this.data.vertical
})
}
})

swiper.xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
<view class="container">
<view class="swiperview">
<swiper class="swiperitem" indicator-dots="{{indicatordos}}" autoplay="{{autoplay}}"
bindchange="displaychange" duration="1000" interval="2000"
vertical="{{vertical}}"
>
<block wx:for="{{imgUrls}}">
<swiper-item>
<image src="{{item}}"></image>
</swiper-item>
</block>
</swiper>
</view>
<view vlass="bottomview">
<button type="default" bindtap="changeautodisplay" class="bottomButton">autodisplay:{{autoplay?"YES":"NO"}}</button>
<button type="default" bindtap="changeindicator" class="bottomButton">indicatordots:{{autoplay?"YES":"NO"}}</button>
<button type="default" bindtap="changevertical" class="bottomButton">水平:{{autoplay?"YES":"NO"}}</button>
//这里边用了一个简单的判断语句 :{{autoplay?"YES":"NO"
</view>
</view>

效果如下:

2016-11-07 17_27_56.gif

2.checkbox的使用

其实就是复选框:

E935B5E6-0FC3-4A00-813C-9A259C2582AE.png
下边用了text显示了当前选中的name。
js文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
首先要设置data的list
Page({
data:{
items: [
{name: 'USA', value: '美国'},
{name: 'CHN', value: '中国', checked: 'true'},
{name: 'BRA', value: '巴西'},
{name: 'JPN', value: '日本'},
{name: 'ENG', value: '英国'},
{name: 'TUR', value: '法国'},
],
text:'',//用来显示选中的box
},
onShow:function(){
// 页面显示 第一次进入页面统计选中的box 调用函数。
this.check();
},
change:function(e){
console.log(e.detail.value);
var te="暂时没选中";
if(e.detail.value.length == 0)
{
} else {
te = e.detail.value;
}
this.setData({
text:te
})
},
********遍历是否有选中的***********
check:function(){
var te="";//遍历是否有选中的
for(var i = 0;i < this.data.items.length;i ++){
var item = this.data.items[i];
if(item.checked){ //如果选中 加到字符串中
te += item.value;
}
}
if(te.length == 0)
{
te = "暂时没选中" ;
}
this.setData({
text:te
})
}
})

xml文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
<view class = "contain">
<view class="bd">
<checkbox-group bindchange="change"> //绑定事件
<label class="checkbox" wx:for="{{items}}">//循环绑定到item
<checkbox value="{{item.value}}" checked="{{item.checked}}"
>
{{item.value}}
</checkbox>
</label>
</checkbox-group>
</view>
<view class="checkfooter">
<text >{{text}}</text>//显示选中的数据的name
</view>
</view>

css文件

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
.bd{
width: 800rpx;
height: 500rpx;
margin-left: 50rpx;
}
.checkbox{
display: block;//这个要一定写的 暂时没搞懂意思 应该是一种布局方式。
margin: 20;
}
.checklabel{
width: 500rpx;
height: 200rpx;
}
.checkfooter{
margin-left: 50rpx;
}

效果如下:

2016-11-07 17_13_36.gif

很多代码的地方都写了注释,有什么不懂或者疑问,欢迎来吐槽!
demo地址
微信小程序_01