自已开发完美的触摸屏网页版仿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+*/
- }
使用非常简单,必须引用的框架jquery.min.js,我的框架控件:EasyScrollBox.js。
演示例子全代码文件:
http://files.cnblogs.com/files/easywebfactory/EasyScrollBox_demo.rar
自已开发完美的触摸屏网页版仿app弹窗型滚动列表选择器/日期选择器的更多相关文章
- 网页版仿Excel效果组件--handsontable拓展运用
引言(祝看官们新年万事大吉) 前段时间项目需要实现网页版的excel表格功能,瞬间就想到了handsontable,为什么呢?理由如下:该UI组件功能齐全多样,展示效果也更贴近bootstrap风格, ...
- Asp.Net Mvc基于Fleck开发的多人网页版即时聊天室
一.项目的核心说明 1.Fleck这个是实现websocket一个比较简单第三方组件,它不需要安装额外的容器.本身也就几个接口可供调用. 2.项目是基于.net framework 4.7.2 ,在v ...
- 调用百度、高德地图App,百度地图网页版,App定位
https://www.jianshu.com/p/296a3995adc2 https://blog.csdn.net/qq_26598821/article/details/51087785 ht ...
- 前端练手小项目——网页版qq音乐仿写
qq音乐网页版仿写 一些步骤与注意事项 一开始肯定就是html+css布局和页面了,这段特别耗时间,耐心写完就好了 首先要说一下大致流程: 一定要先布局html!,所以一定要先分析页面布局情况,用不同 ...
- Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版
Dreamweaver杀手!Illustrator终结者?Flash的末日?图形图像设计程序之网页版 阅读: 评论: 作者:Rybby 日期: 来源:rybby.com Adobe 家的 Il ...
- 自已开发IM有那么难吗?手把手教你自撸一个Andriod版简易IM (有源码)
本文由作者FreddyChen原创分享,为了更好的体现文章价值,引用时有少许改动,感谢原作者. 1.写在前面 一直想写一篇关于im即时通讯分享的文章,无奈工作太忙,很难抽出时间.今天终于从公司离职了, ...
- PHP 之CI框架+GatewayWorker+AmazeUI低仿微信聊天网页版
html5开发的仿微信网页版聊天,采用html5+css3+jquery+websocket+amazeui等技术混合架构开发,实现了微信网页版的主要功能. 一.效果图 二.前端参考代码 <!D ...
- Vue3.0网页版聊天|Vue3.x+ElementPlus仿微信/QQ界面|vue3聊天实例
一.项目简介 基于vue3.x+vuex+vue-router+element-plus+v3layer+v3scroll等技术构建的仿微信web桌面端聊天实战项目Vue3-Webchat.基本上实现 ...
- 网页版Rstudio︱RStudio Server多人在线协作开发
网页版Rstudio︱RStudio Server多人在线协作开发 想了解一下RStudio Server,太给力的应用,可以说成是代码分布式运行,可以节省时间,放大空间. RStudio是一个非常优 ...
随机推荐
- shiro的/favicon.ico问题
登录成功之后跳转/favicon.ico问题. 1.spring-shrio.xml里面配置加上 /favicon.ico = anon 2.web.xml中配置中加上: <mime-mappi ...
- sql server 复制表从一个数据库到另一个数据库
sql server 复制表从一个数据库到另一个数据库 /*不同服务器数据库之间的数据操作*/ --创建链接服务器 exec sp_addlinkedserver 'ITSV ', ' ', 'SQL ...
- smarty模板(转载)
一.smarty的程序设计部分: 在smarty的模板设计部分我简单的把smarty在模板中的一些常用设置做了简单的介绍,这一节主要来介绍一下如何在smarty中开始我们程序设计.下载Smarty文件 ...
- vue生命周期探究(二)
vue生命周期探究(二) 转载自:https://segmentfault.com/a/1190000008923105 上一章我们介绍了vue的组件生命周期和路由勾子,这一章,让我们来看看在vue- ...
- 150. Evaluate Reverse Polish Notation(逆波兰表达式)
Evaluate the value of an arithmetic expression in Reverse Polish Notation. Valid operators are +, -, ...
- 企业级项目把.app文件转成.ipa文件的自动化实现
将MakeIPA.sh添加到项目的根目录下 此脚本针对企业级项目打包,不会编译项目,在打包前确认项目已经编译完成生成了"XXX.app"文件 使用前需要配置该脚本部分路径才能正确打 ...
- 分布式远程服务调用(RPC)框架
分布式远程服务调用(RPC)框架 finagle:一个支持容错,协议无关的RPC系统 热门度(没变化) 10.0 活跃度(没变化) 10.0 Watchers:581 Star:6174 Fork: ...
- python3_UUID模块详解
1.知识背景 UUID是128位的全局唯一标识符,通常有32字节的字母表示.它可以保证时间和空间的唯一性. UUID——Universally unique identifier 在python中叫U ...
- Android事件处理下(按键、触摸屏和滚动球的一些实现细节)
http://www.cnblogs.com/andtt/articles/2145563.html 对于按键事件,调用mDevices[i]->layoutMap->map进行映射.映射 ...
- Java硬件同步机制Swap指令模拟+记录型信号量模拟
学校实验存档//.. 以经典的生产者消费者问题作为背景. 进程同步方式接口: package method; /** * P表示通过,V表示释放 */ public interface Method ...