翻出了以前做过的手机网站触摸屏滑动翻屏的效果,解决了点击和滑动两种事件的识别,配合ajax效果使用,开发手机网站效果应该不错。
demo:效果:http://www.php8848.com/demo/test.html
下载:请直接从demo上扒吧。
上次做过一个这样的效果,但是上次做的时候,项目有些急,没有理清楚,从别人那里的改的。
最近闲下来,仔细想想,其实挺简单的,主要就是用scrollleft,只要能解决点击事件和拖拽滑动事件的冲突问题就行了。
因为我相信大部分能用到这个效果的应该不只是用来展示图片,大多数还是用来的显示按钮的。这也是主要的麻烦吧。
解决方法是:使用mousedown事件代替 click事件,因为容器内部的元素的mousedown事件在容器的mousedown事件之前。
而如果用click的话,就是在容器的mousedown事件之后了,鼠标点击按钮之后,两个mousedown事件都会触发的。
这样我们在按钮的mousedown事件里面设定一个 settimeout定时器,将真正的点击事件函数委托给10ms之后再来执行。
在mousemove里面将这个定时器取消,如果鼠标点击之后移动的话,那么定时器就会取消。
如果不移动就松开的话,那么就会在10ms之后出发点击事件。
还有一个就是,如何保证文字不被选中和图片不被拖移,
有一个小小的插件,下载的别人的,在里面又加了一句,为了做一下firefox的兼容性。
应该没有其他的问题了,唯一的问题就是,js总是有点不太流畅。