自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器

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

 

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

代码使用方法如下:

          $("#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);
              }
          });

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

<!-- ui-dialog -->

<div id="dialog" class="easyui-dialog" style="padding:20px 6px;width:80%;" data-options="inline:true,modal:true,closed:true,title:‘设置数值‘">
	<div id="scrollbox"></div>
    <div class="dialog-button">
				<a href="javascript:void(0)" class="easyui-linkbutton" style="width:100%;height:35px" onclick="$(‘#dialog‘).dialog(‘close‘)">确 定</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(‘center‘);
              //重新赋值
              $("#scrollbox").EasyScrollBox({
                  fontSize: 32,
                  fontFamily: ‘‘,
                  color: ‘#000‘,
                  lineHeight: 1.5,
                  spaceRows: 2,
                  value: ‘4‘,
                  data: data,
                  textFiled: ‘txt‘,
                  valueFiled: ‘id‘,
                  onSelected: function (index, value) {
                      $("#Text1").val(value.id);
                  }
              });

              event.preventDefault();
          });

      });
  </script>

  

也可以这么用:

          //字符串数据
          var data1 = [];
          for (var i = 0; i < 100; i++) {
              data1.push(i);
          }
          $("#scrollbox").EasyScrollBox({
              fontSize: 32,
              fontFamily: ‘‘,
              color: ‘#000‘,
              lineHeight: 1.5,
              spaceRows: 2,
              value: ‘4‘,
              data: data1,
              onSelected: function (index, value) {
                  $("#Text1").val(value);
              }
          });
          $("#dialog-link1").click(function (event) {
              $("#dialog").dialog("open").dialog(‘center‘);
              event.preventDefault();
          });

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

#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+*/
}

  

演示例子全代码文件:

http://files.cnblogs.com/files/easywebfactory/EasyScrollBox_demo.rar

时间: 2024-10-12 23:13:51

自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器的相关文章

javascript开发植物大战僵尸网页版游戏源代码下载

原文:javascript开发植物大战僵尸网页版游戏源代码下载 源代码下载:http://www.zuidaima.com/share/1550463429364736.htm javascrip实现的植物大战僵尸

基于jQuery仿QQ音乐播放器网页版代码

基于jQuery仿QQ音乐播放器网页版代码是一款黑色样式风格的网页QQ音乐播放器样式代码.效果图如下: 在线预览   源码下载 实现的代码. html代码: <div class="m_player" id="divplayer" role="application" onselectstart="return false" style="left: 0px;"> <div class=&

微软Visual Studio Online:一款能打造网页版开发工具

根据开发者对IntelliCode以及Live Share的回馈,微软进一步延伸远程程序代码协作概念,即将推出三个能增加开发生产力的功能,分别是个人远程开发.云端开发环境配置,以及网页版Visual Studio Online.微软提到,个人远程开发这项功能,是他们释出程序代码协作功能Live Share的时候,就收到的回馈建议,而远程开发也的确有其优点,能在有别于部署应用程序的操作系统工作,可以让开发者利用更高阶的硬件进行开发,还能增加应用程序的可移植性.而在五月初,微软已经为Visual S

Java课程寒假之开发记账本软件(网页版)之一

一.制定网页版记账本的基础功能 首先是下载了几个记账本APP,大致地看了一下记账本的功能:添加记录(支出,收入,自定义模板),查询流水(分类查询),账户. 二.开始做出框架 鉴于记账本有上面的功能,所以在网页的界面上选择了左侧导航栏的界面模板,这样功能会显得更加的简洁明了. 此模板来源于网络,此处对模板进行了相应的修改,以符合记账本要求. 原文地址:https://www.cnblogs.com/heiyang/p/10357239.html

21款网页版html5小游戏源码

html5魅族创意的贪食蛇游戏源码下载 html5网页版打砖块小游戏源码下载 html5 3D立体魔方小游戏源码下载 html5网页版飞机躲避游戏源码下载 html5三国人物连连看游戏源码下载 js html5 2048数字游戏源码_2048网页版源码下载 html5盲打高手打飞字游戏下载_网页版英文打飞字游戏源码下载 jQuery flappy bird电脑版小游戏源码下载 网页版html5 3d俄罗斯方块游戏源码下载 jQuery html5迷宫游戏源码下载 html5网页游戏仿flappy

结对作业:四则运算网页版

coding克隆仓地址:https://git.coding.net/huyifeng1998/jieduixiangmu.git 一.预期PSP: 二.结对编程对接口的设计 information hiding: 信息隐藏是指在设计和确定模块时,使得一个模块内包含的特定信息(过程或数据),对于不需要这些信息的其他模块来说,是不可访问的. 我们在结对项目中将各种经常用到的类和方法放在外联,而不是内嵌在一个类中,这样每个类分工明确,便于修改.信息隐藏同时体现在各种类.算法对用户不可见,能隐藏复杂度

h5聊天室web端(仿微博、微信)|h5仿微信网页端|仿微信界面弹窗

html5开发的仿微博.微信聊天web端案例,h5仿微信聊天网页版,采用html5+css3+jquery+swiper+wcPop等技术进行布控架构开发,弹窗插件wcPop.js进行了一次全面api升级,修复编辑器插入表情时光标定位错误bug,新增了上传附件及自定义推送内容,另外也新增了个人名片.上传附件.分享等样式,功能上实现了消息.表情的发送,图片.视频全屏预览. 项目运行图: /* --- 用户设置.Start ---*/ // 联系人/群聊切换 $("body").on(&q

react-native聊天室|RN版聊天App仿微信实例|RN仿微信界面

一.前言 9月,又到开学的季节.为每个一直默默努力的自己点赞!最近都沉浸在react native原生app开发中,之前也有使用vue/react/angular等技术开发过聊天室项目,另外还使用RN技术做了个自定义模态弹窗rnPop组件. 一.项目简述 基于react+react-native+react-navigation+react-redux+react-native-swiper+rnPop等技术开发的仿微信原生App界面聊天室——RN_ChatRoom,实现了原生app启动页.As

网页版截图工具上线啦

最近由于公司的一些事情再加上忙着开发完善这个网页版截图工具,所以有差不多一个星期没有和大家分享一下代码学习上的心得,就在今天也就是愚人节,终于上线了.这款网页截图工具被定义为beta版本,目前工具还存在着几个bug没有时间解决, 这些Bug会在下个版本v2.0得到解决,同时如果是有什么好的功能或者是建议的话,也希望大家在下面进行留言(大家快来做做测试工程师) 一.为什么会有这款工具? 其实这款工具在目前市面是还是比较少见的,但是为什么我会制作这款工具呢,一个原因是公司应该说是半个月前,老板想要对