Skip to content

Commit 0860b5e

Browse files
committed
mobile
1 parent 3e46715 commit 0860b5e

File tree

14 files changed

+3094
-0
lines changed

14 files changed

+3094
-0
lines changed
Lines changed: 148 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,148 @@
1+
# mobile-selector
2+
3+
mobile-selector是一款基于jQuery/zepto的适用于移动端的选择器插件
4+
5+
效果图如下:
6+
7+
![出生](./images/1.gif) ![体重](./images/2.gif) ![睡眠时间](./images/3.gif) ![日期](./images/time.png) ![时间](./images/date.png)
8+
9+
## How to Use?
10+
11+
mobile-selector 依赖于 jQuery/zepto.
12+
13+
```html
14+
<script src="jquery.js" type="text/javascript"></script>
15+
<script src="jquery.selector.js" type="text/javascript"></script>
16+
```
17+
18+
js调用
19+
20+
```js
21+
$.scrEvent({
22+
data: ['全国', '上海', '苏州', '杭州', '南京', '武汉', '深圳', '北京'], //数据
23+
evEle: '.qu-year', //选择器
24+
title: '切换城市', // 标题
25+
defValue: '全国', // 默认值
26+
afterAction: function (data) { // 点击确定按钮后,执行的动作
27+
$(".qu-year").val(data);
28+
}
29+
});
30+
31+
// 体重范围,20-100(整数),0-9(小数)
32+
// 整数
33+
var quWeightInt = [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,
34+
51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85,
35+
86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100];
36+
// 小数
37+
var quWeightFl = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
38+
//体重
39+
$.scrEvent2({
40+
data: quWeightInt,
41+
data2: quWeightFl,
42+
evEle: '.qu-weight',
43+
title: '体重/kg',
44+
defValue: 60,
45+
defValue2: 0,
46+
afterAction: function (data1, data2) {
47+
48+
$('.qu-weight').val(data1 + '.' + data2);
49+
}
50+
})
51+
52+
// 时长数据
53+
// 小时
54+
var spoHour = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
55+
"21", "22", "23"];
56+
// 分钟
57+
var spoMinute = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20",
58+
"21", "22", "23", "24", "25", "26", "27", "28", "29", "30", "31", "32", "33", "34", "35", "36", "37", "38", "39", "40", "41", "42", "43", "44",
59+
"45", "46", "47", "48", "49", "50", "51", "52", "53", "54", "55", "56", "57", "58", "59"];
60+
61+
//睡眠
62+
$.scrEvent2({
63+
data: spoHour,
64+
data2: spoMinute,
65+
evEle: '.qu-time',
66+
title: '睡眠时长',
67+
defValue: 6,
68+
defValue2: 0,
69+
eleName: '小时',
70+
eleName2: '分钟',
71+
afterAction: function (data1, data2) {
72+
$('.qu-time').val(data1 + '小时' + data2 + '分钟');
73+
}
74+
})
75+
76+
// 年月日
77+
$.dateSelector({
78+
evEle: '.sp-time',
79+
startYear: '2017',
80+
endYear: '2017',
81+
timeBoo: false,
82+
afterAction: function (d1, d2, d3) {
83+
$('.sp-time').val(d1 + '-' + d2 + '-' + d3);
84+
}
85+
});
86+
87+
// 年月日 时分
88+
$.dateSelector({
89+
evEle: '.sp-date',
90+
year: 1990,
91+
month: 12,
92+
day: 08,
93+
startYear: '1990',
94+
endYear: '2017',
95+
timeBoo: true,
96+
afterAction: function (d1, d2, d3, d4, d5) {
97+
$('.sp-date').val(d1 + '-' + d2 + '-' + d3 + ' ' + d4 + ':' + d5);
98+
}
99+
});
100+
```
101+
102+
## API
103+
104+
### scrEvent:
105+
106+
| 参数 | 解释 |
107+
| ------------- | -----: |
108+
| data | 选择器取值范围,类型为数组 |
109+
| evEle | 要绑定触发事件元素的元素名称,如:class、id、element... |
110+
| title | 选择器名称 |
111+
| defValue | 选择器默认值 【可选,默认选择器数组的第一个数】 |
112+
| beforeAction | 执行成功前的动作 无参数 |
113+
| afterAction | 执行成功后的动作 参数:选中的文字 |
114+
115+
116+
### scrEvent2:
117+
118+
| 参数 | 解释 |
119+
| ------------- | -----: |
120+
| data | 选择器1取值范围,类型为数组 |
121+
| data2 | 选择器2取值范围,类型为数组 |
122+
| evEle | 要绑定触发事件元素的元素名称,如:class、id、element... |
123+
| title | 选择器名称 |
124+
| defValue | 选择器1默认值【可选,默认选择器数组的第一个数】 |
125+
| defValue2 | 选择器2默认值【可选,默认选择器数组的第一个数】 |
126+
| eleName | 选择器1后跟随的单位 【可选】 |
127+
| eleName2 | 选择器2后跟随的单位 【可选】 |
128+
| beforeAction | 执行成功前的动作 无参数 |
129+
| afterAction | 执行成功后的动作 参数1:选中的文字1 参数2:选中的文字2 |
130+
131+
132+
### dateSelector:
133+
134+
| 参数 | 解释 |
135+
| ------------- | -----: |
136+
| evEle | 要绑定触发事件元素的元素名称,如:class、id、element... |
137+
| title | 选择器名称 |
138+
| year | 默认显示年【可选,默认当前年】 |
139+
| month | 默认显示月【可选,默认当前月】 |
140+
| day | 默认显示日【可选,默认当前日】 |
141+
| timeBoo | true:使用年月日+时间 false:使用年月日 【可选,默认为false】 |
142+
| hour | 默认显示小时【可选,默认当前小时】 |
143+
| minute | 默认显示分钟【可选,默认当前分钟】 |
144+
| startYear | 显示年的开始区间开始时间 【可选,默认为当前年份的前后10年】 |
145+
| endYear | 显示年的开始区间结束时间 【可选,默认为当前年份的前后10年】 |
146+
| type | 触发事件元素的触发事件类型 【 |
147+
| beforeAction | 执行成功前的动作 无参数 中的文字1-5 |
148+
| afterAction | 执行成功后的动作 参数1-5:选可选,默认'click'】 |
105 KB
Loading
78.6 KB
Loading
84.2 KB
Loading
16 KB
Loading
15.3 KB
Loading
15.5 KB
Loading
16.8 KB
Loading
15.6 KB
Loading
Lines changed: 149 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,149 @@
1+
<!DOCTYPE html>
2+
<html lang="en">
3+
4+
<head>
5+
<meta charset="UTF-8">
6+
<meta name="viewport" content="width=device-width,initial-scale=1,user-scalable=no">
7+
<title>选择器</title>
8+
</head>
9+
<style>
10+
body {
11+
margin: 0;
12+
font-family: Gotham, "Helvetica Neue", Helvetica, Arial, sans-serif;
13+
background: #eee;
14+
}
15+
</style>
16+
17+
<body style="font-size: 16px">
18+
<div style="margin-top:10px;">
19+
<span style="padding-right:10px;">年份</span>
20+
<input style="border:solid 1px red;" class="qu-year" type="text">
21+
</div>
22+
<div style="margin-top:10px;">
23+
<span style="padding-right:10px;">身高</span>
24+
<input style="border:solid 1px red;" class="qu-height" type="text">
25+
</div>
26+
<div style="margin-top:10px;">
27+
<span style="padding-right:10px;">体重</span>
28+
<input style="border:solid 1px red;" class="qu-weight" type="text">
29+
</div>
30+
<div style="margin-top:10px;">
31+
<span style="padding-right:10px;">睡眠</span>
32+
<input style="border:solid 1px red;" class="qu-time" type="text">
33+
</div>
34+
<div style="margin-top:10px;">
35+
<span style="padding-right:10px;">年月日</span>
36+
<input style="border:solid 1px red;margin-top:10px" class="sp-time" type="text">
37+
</div>
38+
<div style="margin-top:10px;">
39+
<span style="padding-right:10px;">年月日+时间</span>
40+
<input style="border:solid 1px red;margin-top:10px" class="sp-date" type="text">
41+
</div>
42+
<script src="js/jq.js"></script>
43+
<script src="js/jquery.selector-px.js"></script>
44+
<script>
45+
$(function () {
46+
// ---------【数据部分开始】---------
47+
// 出生年份计算,当前年份-(当前年份-100)
48+
var nowYear = new Date().getFullYear();
49+
var gYear = [];
50+
for (var i = 0; i < 100; i++) {
51+
gYear.push(Number(nowYear) - i);
52+
};
53+
// 身高范围,50-220
54+
var quHeight = [50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220];
55+
// 体重范围,20-220(整数),0-9(小数)
56+
// 整数
57+
var quWeightInt = [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, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99, 100, 101, 102, 103, 104, 105, 106, 107, 108, 109, 110, 111, 112, 113, 114, 115, 116, 117, 118, 119, 120, 121, 122, 123, 124, 125, 126, 127, 128, 129, 130, 131, 132, 133, 134, 135, 136, 137, 138, 139, 140, 141, 142, 143, 144, 145, 146, 147, 148, 149, 150, 151, 152, 153, 154, 155, 156, 157, 158, 159, 160, 161, 162, 163, 164, 165, 166, 167, 168, 169, 170, 171, 172, 173, 174, 175, 176, 177, 178, 179, 180, 181, 182, 183, 184, 185, 186, 187, 188, 189, 190, 191, 192, 193, 194, 195, 196, 197, 198, 199, 200, 201, 202, 203, 204, 205, 206, 207, 208, 209, 210, 211, 212, 213, 214, 215, 216, 217, 218, 219, 220];
58+
// 小数
59+
var quWeightFl = [0, 1, 2, 3, 4, 5, 6, 7, 8, 9];
60+
// 时长数据
61+
// 小时
62+
var spoHour = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "10", "11", "12", "13", "14", "15", "16", "17", "18", "19", "20", "21", "22", "23"];
63+
// 分钟
64+
var spoMinute = ["00", "01", "02", "03", "04", "05", "06", "07", "08", "09", "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", "51", "52", "53", "54", "55", "56", "57", "58", "59"];
65+
// ---------【数据部分结束】---------
66+
// 年份
67+
$.scrEvent({
68+
data: gYear,
69+
evEle: '.qu-year',
70+
title: '出生年份',
71+
defValue: 1980,
72+
afterAction: function (data) {
73+
74+
$(".qu-year").val(data);
75+
}
76+
});
77+
78+
// 身高
79+
$.scrEvent({
80+
data: quHeight,
81+
evEle: '.qu-height',
82+
title: '身高/cm',
83+
defValue: 170,
84+
afterAction: function (data) {
85+
86+
$('.qu-height').val(data);
87+
}
88+
});
89+
90+
//体重
91+
$.scrEvent2({
92+
data: quWeightInt,
93+
data2: quWeightFl,
94+
evEle: '.qu-weight',
95+
title: '体重/kg',
96+
defValue: 60,
97+
defValue2: 0,
98+
linkType: '.',
99+
afterAction: function (data1, data2) {
100+
101+
$('.qu-weight').val(data1 + '.' + data2);
102+
}
103+
})
104+
105+
106+
//睡眠
107+
$.scrEvent2({
108+
data: spoHour,
109+
data2: spoMinute,
110+
evEle: '.qu-time',
111+
title: '睡眠时长',
112+
defValue: 6,
113+
defValue2: 0,
114+
eleName: '小时',
115+
eleName2: '分钟',
116+
afterAction: function (data1, data2) {
117+
$('.qu-time').val(data1 + '小时' + data2 + '分钟');
118+
}
119+
})
120+
121+
// 年月日 时分
122+
$.dateSelector({
123+
evEle: '.sp-date',
124+
year: 1990,
125+
month: 12,
126+
day: 08,
127+
startYear: '1990',
128+
endYear: '2017',
129+
timeBoo: true,
130+
afterAction: function (d1, d2, d3, d4, d5) {
131+
$('.sp-date').val(d1 + '-' + d2 + '-' + d3 + ' ' + d4 + ':' + d5);
132+
}
133+
});
134+
135+
// 年月日
136+
$.dateSelector({
137+
evEle: '.sp-time',
138+
startYear: '2017',
139+
endYear: '2022',
140+
timeBoo: false,
141+
afterAction: function (d1, d2, d3) {
142+
$('.sp-time').val(d1 + '-' + d2 + '-' + d3);
143+
}
144+
});
145+
});
146+
</script>
147+
</body>
148+
149+
</html>

0 commit comments

Comments
 (0)