博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
AlloyTouch之select选择插件
阅读量:6171 次
发布时间:2019-06-21

本文共 1619 字,大约阅读时间需要 5 分钟。

写在前面

很多情况下,产品希望统一安卓和IOS select交互和样式。但是众所周知,IOS和安卓的select唤起的选择界面并不是样的,甚至IOS不同系统版本以及安卓不同系统版本下的select唤起的界面也不是相同的。而且省市区多选的需求,不管是IOS和安卓都没有提供原生界面的支持。所以唯一的办法就是web去模拟select唤起界面。

如上图所以,中间的区域是支持触摸运动。什么触摸运动?AlloyTouch不就是专门干这个的吗!

但是需要停在某个日期上!什么需要停在某个日期上?AlloyTouch不是可以配置step的吗!

所有问题迎刃而解~

在线演示

插件使用

先引用依赖的JS和CSS文件。

然后:

new AlloyTouch.Select({    options: [        { value: "all", text: "累计" },        { value: "2015-9", text: "2015年9月" },        { value: "2015-8", text: "2015年8月" },        { value: "2015-7", text: "2015年7月" },        { value: "2015-6", text: "2015年6月" },        { value: "2015-5", text: "2015年5月" },        { value: "2015-4", text: "2015年4月" },        { value: "2015-3", text: "2015年3月" },        { value: "2015-2", text: "2015年2月" },        { value: "2015-1", text: "2015年1月" },        { value: "2014-12", text: "2014年12月" },        { value: "2014-11", text: "2014年11月" },        { value: "2014-10", text: "2014年10月" }    ],    selectedIndex: 3,    change: function (item, index) {    },    complete: function (item, index) {    }})
  • options是所有项的集合
  • selectedIndex是初始选中项的索引
  • change是改变的回调
  • complete是点击完成按钮的回调

核心原理

Transform(scroll);new AlloyTouch({    touch: container,    target: scroll,    initialValue: selectedIndex * -1 * step,    property: "translateY",    min: (len - 1) * -30,    max: 0,    step: step});
  • container是触摸的区域
  • scroll就是滚动的对象
  • step就是每一个日期的高度
  • initialValue是初始的位置,会根据当前的索引selectedIndex乘以step计算出位置

通过上面的配置,scroll最终都会被校正到step的整数倍,小于min会回弹,大于max也会回弹。

总结

可以看到,AlloyTouch很擅长处理触摸运动。当然上面只是一个简单的例子,这仅仅是一个开始!

后续还会给大家带来:

  • AlloyTouch无限循环select实战
  • AlloyTouch多项级联select实战
  • AlloyTouch实现3D效果select实战

Github

你要触摸的一切都在这里。

转载地址:http://sgnba.baihongyu.com/

你可能感兴趣的文章
PHP 设置响应头来解决跨域问题
查看>>
CAS实现SSO单点登录原理
查看>>
博客园美化专用图片链接
查看>>
HDU_1969_二分
查看>>
高等代数葵花宝典—白皮书
查看>>
一种简单的图像修复方法
查看>>
基于DobboX的SOA服务集群搭建
查看>>
C#设计模式之装饰者
查看>>
[noip模拟20170921]模版题
查看>>
获取ip
查看>>
Spring Shell简单应用
查看>>
移动app可开发的意见于分析
查看>>
周总结7
查看>>
类似OutLook布局的开源控件XPanderControls
查看>>
Web前端工程师成长之路——知识汇总
查看>>
[2018-9-4T2]探索黑暗dark
查看>>
【学术信息】中科院2019年学术期刊分区-综合性期刊
查看>>
黄聪:C#如何通过MeasureString、Graphics获取字符串的像素长度
查看>>
ShareObject离线存储相关
查看>>
C++ XML
查看>>