国庆头几天花了点时刻写一个整屏滑动的挪动页面的demo,时刻短暂另有许多东西没写。
跟基友 http://segmentfault.com/blog/laopopo/1190000000708417 差不多,但思路上不太一样,人人能够看看他的源码感受一下个中的区分。
从监听最先,用一个变量纪录触摸的出发点位置,然后move的时刻用move的触发的clientY的值减去出发点位置,让页面滑动谁人差值的间隔,这个间隔可能为负为正,然后end的时刻推断须要往哪边修改位置。
end的时刻我做的处置惩罚是先推断滑动的方向,(这个怎样推断呢?在move的时刻用一个变量纪录move的位置,然后用末了一个减去start的时刻纪录的位置,差值正负就是方向了)我预先计算了每个div离页面最顶部的位置,然后倒序找第一个为负的元素,假如同时是向上滑动且下一个元素冒出头来的间隔大于六分之一屏幕,就把下面的拉上来,假如同时是向下滑动且上一个元素冒出尾部的间隔大于六分之一就把上面的拉下来。
个中遇到的坑是move的时刻经由过程return false
没法阻挠默许事宜,只能e.preventDefault()
,然则电脑上模仿挪动页面能够运用return false