首页 > web前端 > js教程 > JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

JS触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

高洛峰
发布: 2016-12-08 14:01:15
原创
1637 人浏览过

手机端网页版app在使用下拉列表时,传统的下拉列表使用起来体验非常不好,一般做的稍好一点的交互功能界面都不会直接使用下拉列表,所以app的原生下拉列表都是弹窗列表选择,网页型app从使用体验上来当然也应该做成那样,前段时间在开发网页版app时就遇到这种需求,不仅是日期选择器,数据列表、变量列表选择等等下拉列表型需求都需要,网上找来找去只找到一款比较好的mobiscroll,不过下载比较麻烦,感觉比较奇怪的是jquery.mobile、jeasyui.mobile都没有提供这种控件,不知道为什么?虽然我不是专做前端开发,不过几乎全能型的我觉的不难开发吧,在家熬了一夜试了几种方法终于找到一种几乎完美的方法!在后来的使用中不断完善,现在公开提供给广大程序员。

先看看效果图:

201611011003251.png

201611011003251.png

由于这控件的滚动是使用div原生滚动方法,触摸屏使用时可以有惯性滚动效果,也实现了鼠标可以操作,不过没有实现惯性滚动效果。由于此控件主要是面向触摸屏的,所以嘛触摸屏完美就好了,我也懒的弄鼠标版的特效了。此控件已封装成jquery插件,没有边框,100%宽,使用很方便,比如套入弹窗后就是上图效果。

代码使用方法如下:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

$("#scrollbox").EasyScrollBox({

fontSize: 32,

fontFamily: '',

color: '#000',

lineHeight: 1.5,

spaceRows: 2,

value: '4',

data: data1,

textFiled: 'txt',

valueFiled: 'id',

onSelected: function (index, value) {

$("#Text1").val(value);

}

});

登录后复制

使用弹窗完整的使用方法代码如下,效果就是上图的样子:

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

<!-- ui-dialog -->

<div id="dialog" class="easyui-dialog" style="padding:20px 6px;width:80%;" data-options="inline:true,modal:true,closed:true,title:&#39;设置数值&#39;">

<div id="scrollbox"></div>

<div class="dialog-button">

<a href="javascript:void(0)" class="easyui-linkbutton" style="width:100%;height:35px" onclick="$(&#39;#dialog&#39;).dialog(&#39;close&#39;)">确 定</a>

</div>

</div>

<script type="text/javascript">

$(function () {

//对象型数据

var data = [];

for (var i = 0; i < 100; i++) {

var m = {};

m.id = i;

m.txt = "数据" + i;

data.push(m);

}

$("#dialog").dialog();

// Link to open the dialog

$("#dialog-link").click(function (event) {

$("#dialog").dialog("open").dialog(&#39;center&#39;);

//重新赋值

$("#scrollbox").EasyScrollBox({

fontSize: 32,

fontFamily: &#39;&#39;,

color: &#39;#000&#39;,

lineHeight: 1.5,

spaceRows: 2,

value: &#39;4&#39;,

data: data,

textFiled: &#39;txt&#39;,

valueFiled: &#39;id&#39;,

onSelected: function (index, value) {

$("#Text1").val(value.id);

}

});

event.preventDefault();

});

});

</script>

登录后复制

也可以这么用:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

//字符串数据

var data1 = [];

for (var i = 0; i < 100; i++) {

data1.push(i);

}

$("#scrollbox").EasyScrollBox({

fontSize: 32,

fontFamily: &#39;&#39;,

color: &#39;#000&#39;,

lineHeight: 1.5,

spaceRows: 2,

value: &#39;4&#39;,

data: data1,

onSelected: function (index, value) {

$("#Text1").val(value);

}

});

$("#dialog-link1").click(function (event) {

$("#dialog").dialog("open").dialog(&#39;center&#39;);

event.preventDefault();

});

登录后复制

 如果想要一点三维效果,直接加样式即可:

201611011003251.png

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#cover_top_EasyScrollBox{

background: -ms-linear-gradient(top, #000000, #ccc); /* IE 10 */

background:-moz-linear-gradient(top,#000000,#ccc);/*火狐*/

background:-webkit-gradient(linear, 0% 0%, 0% 100%,from(#000000), to(#ccc));/*谷歌*/

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#000000), to(#ccc)); /* Safari 4-5, Chrome 1-9*/

background: -webkit-linear-gradient(top, #000000, #ccc); /*Safari5.1 Chrome 10+*/

background: -o-linear-gradient(top, #000000, #ccc); /*Opera 11.10+*/

}

#cover_bottom_EasyScrollBox{

background: -ms-linear-gradient(top, #ccc, #000000); /* IE 10 */

background:-moz-linear-gradient(top,#ccc,#0000ff);/*火狐*/

background:-webkit-gradient(linear, 0% 0%, 0% 100%,from(#ccc), to(#000000));/*谷歌*/

background: -webkit-gradient(linear, 0% 0%, 0% 100%, from(#ccc), to(#000000)); /* Safari 4-5, Chrome 1-9*/

background: -webkit-linear-gradient(top, #ccc, #000000); /*Safari5.1 Chrome 10+*/

background: -o-linear-gradient(top, #ccc, #000000); /*Opera 11.10+*/

}

登录后复制


相关标签:
js
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
javascript - js addClass 无效
来自于 1970-01-01 08:00:00
0
0
0
php调用js并获取js的返回值问题
来自于 1970-01-01 08:00:00
0
0
0
javascript - js代码转python
来自于 1970-01-01 08:00:00
0
0
0
找不到js文件代码
来自于 1970-01-01 08:00:00
0
0
0
js高级教程
来自于 1970-01-01 08:00:00
0
0
0
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板