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,直接以父盒子总宽度来作为参照。因此,不可以随意让盒子脱离文档流,会影响整体布局;

你可能感兴趣的:(m.jd-category页面滑动问题)