angular 实现时间段选择组件
前段时间公司有个后台项目需要使用一个选择时间段的组件,看了一下就自己写了一下,用angular写这种插件还是很简单的。
先看看最终是什么样子的:

功能是用户可以选择任意时间段,鼠标可以拖动任意的一周的时间段,松开鼠标结束选择。
话不多说,下面上代码:
页面结构大体是这样的。
时间
星期
上午下午
- {{item}}
- 星期{{arr.week}}
js:
我模拟的数据比较臃肿,其实还可以将 $scope.timearr 简化一下的,这个组件主要靠的就是 $scope.timearr 记录用户选择的时间段,然后输出给后台。
这里有几个事件我也是第一次用,angular的 ng-mousedown、ng-mouseup、ng-mouseleave,用起来还是有些问题的,比如用户按下鼠标左键的时候,快速选择时间段的话,有的时间点就没有记录下来,这个问题的关键是用户选择的时候速度过快,以至于代码还没有将鼠标滑过的数据改变,已经滑过下一个了。
解决的办法有一个,就是速度不要过快。哈哈哈!
最后贡献一下我的代码:https://github.com/wangbaogui123/learn.git
奔跑的工程师

浙公网安备 33010602011771号