Ipad(IOS 5以前)的safari浏览器下, 如何实现单指滑动Scroll ( html + Jquery 实现)
来源:互联网 发布:联想网络控制工具 编辑:程序博客网 时间:2024/06/05 03:18
闭月羞花猫 2012年1月 于河西新城科技园
项目上有个要求:
一个Jquery的项目,需要在ipad上面,对于横向,纵向的scroll bar需要能实现单指滑动的效果。
似乎目前的ipad(IOS5以前)版本,对于scrollbar的单指滑动不能很好的支持。
注:IOS5版本则不需要做任何的特殊的script,只需要用html自带的overflow属性就可以了。
于做了一个类:
闲话不说,先上代码(可以全部拷贝下来测试,但是请注意,因为是jquery,所以需要引用一个“jquery-1.6.2.js”的文件,可网上下载)
代码如下:
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="text/html; charset=UTF-8" http-equiv="Content-Type"><title> Jquery Ipad下如何支持单指滑动Scroll </title><script src="./js/jquery-1.6.2.js"/><script>// 定义一个ScrollCommon的类var ScrollCommon = function() { // 横向Scroll的单指滑动 this.touchScrollX = function (selector) {var scrollStartPos = 0;$(selector).live('touchstart', function(event) {scrollStartPos = this.scrollLeft + event.originalEvent.touches[0].pageX;});$(selector).live('touchmove', function(event) {if ((this.scrollLeft < this.scrollWidth - this.offsetWidth && this.scrollLeft + event.originalEvent.touches[0].pageX < scrollStartPos - 5) || (this.scrollLeft != 0 && this.scrollLeft + event.originalEvent.touches[0].pageX > scrollStartPos + 5)) { event.preventDefault(); }this.scrollLeft = scrollStartPos - event.originalEvent.touches[0].pageX;}); }; // 纵向Scroll的单指滑动 this.touchScrollY = function (selector) {var scrollStartPos = 0;$(selector).live('touchstart', function(event) {scrollStartPos = this.scrollTop + event.originalEvent.touches[0].pageY;});$(selector).live('touchmove', function(event) { if ((this.scrollTop < this.scrollHeight - this.offsetHeight && this.scrollTop + event.originalEvent.touches[0].pageY < scrollStartPos - 5) || (this.scrollTop != 0 && this.scrollTop + event.originalEvent.touches[0].pageY > scrollStartPos + 5)) { event.preventDefault(); }this.scrollTop = scrollStartPos - event.originalEvent.touches[0].pageY;}); }; }; // 本机能的js事件$(function(){ var commonJs = new ScrollCommon(); // 注册本机能的横向Scroll的单指滑动事件 commonJs.touchScrollX('#optionScroll'); // 注册本机能的纵向Scroll的单指滑动事件 commonJs.touchScrollY('#optionScroll');});</script></head><body> <section id="optionScroll" style="overflow:auto;height:300px;width:600px;border:1px red solid;margin:60px auto auto 80px"> <ul> <script> for (var i=0; i<50; i++) { document.write("<li style='white-space:nowrap;'>我是第" + i + "行数据!!!闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫闭月羞花猫</li>"); } </script> </ul> </section></body></html>
- Ipad(IOS 5以前)的safari浏览器下, 如何实现单指滑动Scroll ( html + Jquery 实现)
- iScroll4解决ipad safari浏览器局部div滚动条单手指无法滑动问题
- iPad 上如何查看 Safari 页面的 html 源代码
- Scroll实现上下左右滑动
- Android Scroll分析(二)实现滑动的多种方法
- Scroll(二)滑动的实现方式
- iPad的Safari浏览器适配小结
- android---Scroll实现滑动效果
- 解决IOS 系统浏览器 html scroll-x 不起作用的办法
- jQuery一步一步实现跨浏览器的可编辑表格,支持IE、Firefox、Safari、Chrome、Opera
- iOS Safari/WebKit对DeviceOrientationEvent的实现
- iOS Safari/WebKit对DeviceMotionEvent的实现
- iOS Safari/WebKit对DeviceMotionEvent的实现
- 如何让 Firefox,Chrome,Safari 浏览器模拟 iPad User Agent
- 如何让 Firefox,Chrome,Safari 浏览器模拟 iPad User Agent
- 如何让 Firefox,Chrome,Safari 浏览器模拟 iPad User Agent
- html页面在IOS-safari浏览器下绑定点击绑定事件的div时会显示灰色框的问题
- 通过Scroll View实现简易背包的滑动效果
- vc工作区中添加文件和文件夹
- 如何阅读源码
- Android 近百个项目的源代码,覆盖Android开发的每个领域
- 上海“智慧城市”3年增2万WiFi热点 速率达54M
- 编程练习-二叉树(父节点、非递归、O(0)空间)
- Ipad(IOS 5以前)的safari浏览器下, 如何实现单指滑动Scroll ( html + Jquery 实现)
- Xtext——6. 简单的五步来支持JVM语言
- ORACLE错误一览表
- 看过《非你莫属》那期,因为刘俐俐,说说陈鸥
- 透视时代风潮之一:移动互联网催生“SoLoMo族”
- 2367
- 见人搭话:聊别人擅长或感兴趣的话题
- 坑爹的DirectX9设备丢失问题
- 放假安排