修复IScroll点击无效,增加scrollTo数值容错处理

最近半年都处于一个非常忙碌的状态,直到现在才有功夫腾出时间记录这段时间以来踩过的一个个坑。

今天先记录关于IScroll 5.1.3版本的坑吧,以及自己打的一个小补丁

=============================

调用IScroll的时候,在IScorll区域有需要点击时部分安卓机点击无效。若设置click为true,则IOS需双击才能触发。

解决方案:针对不同机型进行iscroll配置参数click的修改。

 1 function IScroll (el, options) {
 2 // INSERT POINT: DEFAULTS
 3     // fix click in bad Andriod
 4     this.options.click = this.fixIScrollClickInAndriod();
 5 }
 6 IScroll.prototype = {
 7     version: ‘5.1.3‘,
 8     fixIScrollClickInAndriod: function (){
 9         if (/iPhone|iPad|iPod|Macintosh/i.test(navigator.userAgent)) return false;
10         if (/Chrome/i.test(navigator.userAgent)) return (/Android/i.test(navigator.userAgent));
11         if (/Silk/i.test(navigator.userAgent)) return false;
12         if (/Android/i.test(navigator.userAgent)) {
13             var s = navigator.userAgent.substr(navigator.userAgent.indexOf(‘Android‘)+8,5);
14             //return parseFloat(s[0]+s[3]) < 44 ? false : true}
15             return parseFloat(s[0]+s[2]+s[4]) <= 442 && parseFloat(s[0]+s[2]+s[4]) > 430 ? true : false}
16     }
17 }

  

  在返回页面的时候需要定位,所以把第一次进入的位置存入sessionStorage了,取出来时调用scrollTo(0,pos)无效。

  出现原因:IScroll对于数值设置为Number,当存入sessionStorage会转为字符串,若取出来不进行parseFloat处理,将返NaN导致无法定位 
  解决方案:1、对从sessionStorage中取出来的数值,进行parseFloat处理。2、修改IScroll关于scrollTo位置的源码,增加 || 0 操作

1 var myScroll = new Scroll("#wrapper");
2 window.sessionStorage.setItem("pos",myScroll.y);
3 myScroll.scrollTo(parseFloat(window.sessionStorage.getItem("pos"))); // 也可修改scrollTo方法做 || 0 转换为数值处理
时间: 2024-10-13 11:22:40

修复IScroll点击无效,增加scrollTo数值容错处理的相关文章

如何让dedecms文章点击量增加一定的数值

用dedecms建站都知道有一个文章点击量这个参数,我们可不可以用这个浏览量做些延伸扩展呢?比如加上一个固定值变成另外一个指标.很多朋友已经想到了,如下图,我们将本文浏览量286设为点击量,加上300000得到的结果为全站总浏览量300286,感觉有点邪恶.只是打比方,大家不要去作恶哈.那么如何让dedecms文章点击量增加一个固定值呢? ytkah找到了一个方法,对,就直接用下面的代码进行调用 {dede:field.click runphp="yes"}@[email protec

关于IE10出现LinkButton点击无效的解决方案

关于IE10出现LinkButton点击无效的情况: 一般高配置的系统如Win7旗舰版SP1系统不会出现这种情况,针对家庭普通版和专业版的用户通过测试都有这种情况,对于开发人员要解决不同系统和IE的兼容问题一时有点摸不着头脑,可能微软发布IE10正式版本不久,兼容问题没有考虑周全,或者微软目的是指引用户向着高版本看齐最终目的推销win8,不管怎样,解决方法才是王道: 网上资料显示这种情况是ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条

selector实现点击图片切换(解决常见的点击无效问题)

实现效果图:       图片未点击前                         图片点击后 selector的实现方法其实很简单,只需3步: 第一步:选择两张图片效果图放在res/drawable-hdpi中,放在mdpi也可以 第二步:在mdpi文件夹中新建xml文件,命名为selector.xml.注意名字selector后面会引用到. 在selector.xml文件中,完成代码: <?xml version="1.0" encoding="utf-8&qu

Android - 监听Activity点击无效

监听Activity点击无效 本文地址: http://blog.csdn.net/caroline_wendy Activity须要先在Manifest注冊,才干在app中使用; Manifest: <activity android:name="me.chunyu.tvdoctor.healthvideo.VideoPlayingActivity" android:label="@string/app_name" /> 在内部库的G7Anno中: @

ios 添加到cell 上的button点击无效!扩大button的点击区域(黑魔法)

一般情况下点击效果都是正常的!要不然你对它做了什么?一般细心的小伙伴都没有遇到这种情况,但是呢! 当然我是二班的!在这里我主要讲两个问题,解决问题和普及魔法. 一.普及问题(button在cell上点击无效) 自定义一个cell,cell里边creat了一个button!然后调试了半天,什么反应都没有! 1.button的enable 设置为yes可点击的. 1.我以为我设置了交互禁用! self.userInteractionEnabled = YES; 2.button的frame越界了!

空a标签 a标签空的情况下 IE6 IE7下点击无效

最近做了好多网站专题页面,因为专题页面图片较多,个别banner上有1个到多个按钮,一种是用"图解img标签的usemap"的方法做链接,(图解img标签的usemap使用方法)[传送门] 另一种用则需要用空a标签来做,发现"a标签"在IE6与IE7中点击无效中点击不了("a标签"定义宽度和高度IE浏览器为零0),其他浏览器都正常(如果不正常请加"display:bolck;"(←推荐)或"float:left;&q

IE故障修复之点击无反应

 第一步,点击开始,运行,打开Regedit,即注册表编辑器.依次找到 >>HKEY_CURRENT_USER\Software\Microsoft\Internet Explorer\Main 右键点击Main,选择权限(如下图) 第二步,在弹出的窗口中选择高级选项,如下图 第三步.然后在弹出的窗口中,选择启用继承,点击保存 大功告成!! IE故障修复之点击无反应

Notification(Notification的通知栏常驻、各种样式、点击无效、禁止滑动删除、兼容低版本)

Notification(Notification的通知栏常驻.Notification的各种样式.Notification点击无效.Notification禁止滑动删除) Android的Notification是android系统中很重要的一个机制, 产品人员常常利用通知栏的方式,跟用户进行弱沟通.拥有推送通知的app要比没有此类功能的app活跃率要高很多.另外类似于墨迹天气,清理大师等app,也会将通知栏常驻,利用自定义的布局,方便用户及时快捷的查看所需的信息和使用快捷的功能.所以Noti

Android开发:ListView控件:给Item绑定了点击事件,却点击无效

一.问题引入 ListView控件:给Item绑定了点击事件,却点击无效. 二.解决方案 ListView使用了自定义布局文件,在布局文件中有button等控件时,这些控件获取焦点的级别比listView的item高,所以当点击item时,button等控件会优先获得点击焦点. 解决方法就是在布局文件根元素中添加属性: android:descendantFocusability="blocksDescendants" android:descendantFocusability De