LCUI 1.0 Beta 2 开发日志
2018年02月21日 · 482 字 · 阅读
2018-03-07
部件宽度为 auto 时计算总有问题,需要完善一下计算流程:
- 开始
- 遍历子部件
- 判断子部件宽度是否为静态宽度?
- 是,直接取该部件的尺寸
- 否,判断它的宽度是否依赖父级元素?
- 是,调用它的 autosize() 方法获取合适尺寸
- 计算完后添加“尺寸调整”任务,让它在本次父部件尺寸更新完后更新自身尺寸
- 在更新自身尺寸时不再触发父部件的重新布局,避免陷入死循环
- 否,直接取该部件的尺寸
- 是,调用它的 autosize() 方法获取合适尺寸
- 判断子部件右下角点坐标是否大于当前记录的坐标
- 是,记录该坐标
- 否,忽略
- 将记录的坐标 XY 值作为部件的宽高值
- 结束
2018-02-21
当父元素和子元素都有滚动条时,滚动条会一起滚动,需要做些调整。浏览器的做法是:如果子元素的滚动条已经滚动到边界位置,则不处理此次触控拖动和鼠标滚轮事件,让父元素的滚动条处理。在 LCUI 中要实现这种效果的话,鼠标滚动事件很好处理,直接阻止事件冒泡即可;但触控事件会复杂点,在收到 touchmove 事件时,如果滑块已经到边界位置且无法移动,则取消此次触控事件处理,后续的 touchmove 事件会直接冒泡到父级滚动条,直到下次 touchdown 事件时再重新判断是否需要处理。
文章版权归作者所有,未经许可不得转载。
问题反馈
对此文章有疑问?你可以点击
这里
反馈