m.jd-category页面滑动问题

滑动条的思路:

大盒子定好高度(响应式则为100%),且子盒子比父盒子长,利用两者差值 > 确定可滑动显示的范围 > 确定加弹性区间 > touchmove时关闭transition效果 > 最大移动范围不超过弹性区间时setTransform > touchend即松开手时,如果之前页面已经已经超过弹性区间,则定位到最大或最小范围,并将current重置为man/minposition,如不是,则另current+=移动距离;

遇到的问题:

滑动最终是通过父盒子与子盒子之间的高度差来实现的,因此高度获取不对时,滑动自然不会顺利进行,因此在设置页面样式时,需要格外注意。

另,此次发现的一些盲点:

1.布局:在响应式页面中,由于单位是百分比,因此需要非常清楚谁是谁的百分之几,以及盒子之间彼此的位置关系。在本demo中,页面的整体响应模式是通过如下方式实现的:

整体页面宽高为100%,左边定宽,高为100%,并让其←浮动;右边div给定高度但可以不给具体宽体(div为块级元素,在不设置宽度的情况下,默认会占据一整行,但是不给高度,盒子则会由于没有内容填充而不显示,由于默认在移动端,所以使其高度为100%),使用overflow:hidden,裁切掉左边被左盒子遮盖住的部分,实现除了伸缩盒子和全部设置成百分比以外的第三种自适应布局的办法;

2. 右边盒子宽度默认自适应,在盒模型box-sizing:border-box作用下增加padding值后,子盒子如果在常规文档流中,宽度设置为100%后结果为父盒子content(右边盒子除去padding)的宽度,如果子盒子已经脱标(position:absolute),子盒子宽度设置为100%就不会考虑padding,直接以父盒子总宽度来作为参照。因此,不可以随意让盒子脱离文档流,会影响整体布局;

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,680评论 1 92
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    wzhiq896阅读 5,785评论 0 2
  • 选择qi:是表达式 标签选择器 类选择器 属性选择器 继承属性: color,font,text-align,li...
    love2013阅读 6,831评论 0 11
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 175,149评论 25 709
  • 前言 在iOS开发中数据存储的方式可以归纳为磁盘缓存和内存缓存:磁盘缓存分为两类:文件、数据库存储。 文件存储:N...
    js丶阅读 10,142评论 2 23