增加自定义滑动宽度

iScroll框架默认滑动的宽度为当前获取对象的宽度,当在形如400px宽的对象里有4张图片,我们每次只希望滑动100px的宽度暨一张图片,做如下修改:

1.在that.options里增加一个配置项getScrollW : “”,这里默认为空

2.在refresh方法里找到that.wrapperW = that.wrapper.clientWidth;并修改为that.wrapperW = that.options.getScrollW ? that.options.getScrollW : that.wrapper.clientWidth;

3:在refresh方法里找到that.scrollerW = m.round(that.scroller.offsetWidth * that.scale);并修改为that.scrollerW = m.round((that.options.getScrollW ? that.scroller.offsetWidth – that.wrapper.offsetWidth + that.options.getScrollW : that.scroller.offsetWidth) * that.scale);

增加自定义滑动宽度在iScroll里的修改就完成了,自己在用的时候,在new iScroll里可以按照配置别的参数一样,配置getScrollW 属性,如果为空或没有配置,就默认滑动当前对象的宽度,如果设置了getScrollW:100px,则就每次滑动100px;

增加解锁状态pullLock

iScroll默认在加载完后,会阻止浏览器的默认行为,如左右滑动的时候,这个时候会阻止上下滑动,这样对很多文章内容页相对较长的页面显然不适用,修改如下

1:在that.options里增加一个配置项pullLock: true,这里默认为true

2:在_start方法里找到e.preventDefault();,并修改为if(!that.options.pullLock){e.preventDefault();}

3:在_move方法里找到e.preventDefault();,并修改为if(that.options.pullLock){if(newY>=-10 && newY<=10){e.preventDefault();}}else{e.preventDefault();}

增加解锁状态在iScroll里的修改也完成了,自己在new iScroll的时候,增加一个配置项pullLock,如果为true的话,就不会阻止浏览器的默认行为,如果为false的话,就会阻止浏览器的默认行为,这个可以自己根据需求制定。

修改destroy方法

iScroll在初始化的时候,对resize事件做了绑定操作that._bind(RESIZE_EV, window);,但是当在destroy销毁事件的时候,做的解绑that._unbind(RESIZE_EV);没有加window对象,不知道为什么,这个改成that._unbind(RESIZE_EV,window);就行了。

转载于:https://www.cnblogs.com/anjey/archive/2012/08/23/2653475.html

iScroll框架的修改相关推荐

  1. 框架实现修改功能的原理_JAVA集合框架的特点及实现原理简介

    1.集合框架总体架构 集合大致分为Set.List.Queue.Map四种体系,其中List,Set,Queue继承自Collection接口,Map为独立接口 Set的实现类有:HashSet,Li ...

  2. php的框架修改建议,thinkphp 框架适配修改

    最近项目需要使用php开发,php开发中比较流行的业务框架有Laravel, yii, CakePHP. 最后决定使用ThinkPhp的原因是上述三种并没有用过,为了支持国产就直接ThinkPHP 搞 ...

  3. 在bootstrap ace样式框架上修改的后台管理型模板(Tab页后台管理模板)

    后台管理模板开始用frameset布局,但是有时候会遮挡比如上面导航或者左边导航的二级三级弹出菜单,因为宽度被限制了,所以有时候就用easyui或者ext的,但是样式不好看,然后看到了bootstra ...

  4. 将ejs转为html,Node.js Express Web应用框架ejs修改为html

    npm安装命令:npm install ejs -save 工程结构说明: bin:存放可执行文件. node_modules:存放package.json中安装的模块,在package.json添加 ...

  5. Qt MVD框架下修改视图中数据项/标题的背景颜色说明(Qt 5.10.1)

    在不利用QSS的情况下,如果想修改MVD中视图的某个数据项的背景颜色,则可以: QVariant YourModel::data(const QModelIndex &index, int r ...

  6. ss修改服务器加密方式,SSM框架新增/修改用户、用户登录时密码加密处理及校验...

    加密技术Md5Crypt需要在pom文件中导入包: commons-codec commons-codec 1.10 一.第一种实现方法 1).新增用户时,对新增后的用户密码进行加密 在userSer ...

  7. Node.js中的express框架,修改内容后自动更新(免重启),express热更新

    有两个插件可以解决此问题:1)supervisor:2)nodemon. 今天我只讲supervisor如何安装.设置开机自动启动: 强调一下!用supervisor来启动nodejs,就不用用什么p ...

  8. flask框架如何实现修改密码和免密登录功能

    flask是python web开发的常用框架之一.本文将讲述flask如何实现修改密码和免密登录功能 修改密码功能 数据库部分: #重置密码 def reset_pass(phone,passwor ...

  9. 【修改 ruoyi-plus 项目名字很麻烦,不如来试试这个工具!开源框架修改项目名!】

    spring boot 开发中经常会用到脚手架[开源框架]修改项目名称模块的时候让人头疼且费时间!不妨来试试这个工具,超好用!!! 文章目录 spring boot 开发中经常会用到脚手架[开源框架] ...

最新文章

  1. python爬虫网络请求超时_6、web爬虫讲解2—urllib库爬虫—基础使用—超时设置—自动模拟http请求...
  2. 几种和生成网络相似的纠缠网络(接近人脑)
  3. Java stackoverflowerror异常与outofmemoryerror异常区别
  4. python基础教程:while循环与运算符和编码
  5. WCF中安全的那些事!!!
  6. 快速入门Matplotlib
  7. Git Bash推送GitHub不成功---密钥设置
  8. 包含min函数的栈(important)
  9. 2016年3月-7月电机组装以及基于MAXON运动控制系统
  10. jmap与jstat工具实战分析
  11. windows下如何使用QT编写dll程序 .
  12. 对于注塑模具设计的原则,这些核心你掌握了吗?
  13. 如何用Airtest脚本切换手机的输入法
  14. 笔记本连接显示器后没有声音_电脑连接HDMI电视/显示器后没声音怎么解决
  15. 大数据时代:数据收集比数据挖掘更有意义
  16. JVM调优-GC基本原理和调优关键分析
  17. 推荐中使用FNN/PNN/ONN/NFM优化特征交叉
  18. zeppelin入门使用
  19. 页面布局的几种宽度设置方式—html
  20. 智慧水务综合管理平台解决方案,助力水司数字化管理

热门文章

  1. 淘宝双12惊喜——“寻”千兆,万兆光模块等你来
  2. 《Web Load Testing For Dummie》读书笔记
  3. Linux查看和剔除当前登录用户-转
  4. 【算法】动态规划笔记
  5. 【操作系统】死锁-思维导图
  6. L1-024. 后天-PAT团体程序设计天梯赛GPLT
  7. HTTP协议详细总结
  8. package.json作用
  9. 第一个C#程序—C#基础回顾
  10. php在客户端禁用cookie时让session不失效的解决方法