• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

chjtx/JRoll: Smooth scrolling for the mobile web

原作者: [db:作者] 来自: 网络 收藏 邀请

开源软件名称(OpenSource Name):

chjtx/JRoll

开源软件地址(OpenSource Url):

https://github.com/chjtx/JRoll

开源编程语言(OpenSource Language):

JavaScript 93.1%

开源软件介绍(OpenSource Introduction):

官网地址:http://www.chjtx.com/JRoll/

醉萝卜 JRoll

My English is very poor, but this does not affect my heart to communicate with the world, thanks for Google translation

看视频了解更多:JRoll大烩[捂脸]
视频相关PPT下载:JRoll视频.pptx

先睹为快 Preview

手机扫二维查看示例

Use the phone to scan the QR code to see the example

http://www.chjtx.com/JRoll/demos/

注意: JRoll是独立插件,不需要依赖任何第三方库,Demo代码上引入了FastClick库是为了演示JRoll能和FastClick配合使用,因为IScroll5开启click:true后在IOS上与FastClick一起使用会导致单击事件需要双击才能触发的问题,与之对比JRoll不会有这个问题。

Notice: JRoll does not need to rely on any third party libraries.

运行示例 Run Demos

#克隆仓库 Clone repository
git clone https://github.com/chjtx/JRoll.git

#进入项目 Go into project
cd JRoll

#安装express Install express
npm install -g express

#如果用苹果电脑,需要加sudo
#If on mac, use sudo
sudo npm install -g express

#运行 Run
node server.js

然后在浏览器打开 localhost:3020/demos/

And then open the localhost:3020/demos/ in the browser

概述 Overview

说明 Description

JRoll,一款能滚起上万条数据,具有滑动加速、回弹、缩放、滚动条、滑动事件等功能,兼容CommonJS/AMD/CMD模块规范,开源,免费的轻量级html5滚动插件。

JRoll第二版是在JRoll第一版基础上重写JRoll滑动算法,基于时间运动,解决帧频降低时滑动缓慢的问题,更改垂直水平方向判断方法,使捕获垂直水平方向更准确灵敏。

JRoll第二版增减了一些api不完全兼容JRoll第一版。

JRoll is a lightweight, lightweight HTML5 scroll plugin compatible with the CommonJS / AMD / CMD module specification, open source, free slideshow, scroll acceleration, resizing, scrolling, and slide events.

JRoll second edition is based on the first version of JRoll, sliding algorithm rewrite, based on time movement, to solve the problem of slow sliding frame rate, change the vertical and horizontal direction to determine the direction of the vertical and horizontal capture more accurate and sensitive.

JRoll Second Edition adds some APIs that are not fully compatible with JRoll first edition.

兼容性 compatibility

  • IOS 6+
  • Android 4.0+
  • Chrmoe
  • Firefox
  • IE 9+

注意:JRoll专为移动应用度身设计,对PC浏览器的兼容只为方便开发调试,没作过多处理,因此强烈建议使用谷歌浏览器模拟器进行开发,在移动端使用。

Note: In order to make this plugin lightweight, JRoll PC browser compatible only to facilitate the development of debugging, not to do too much processing, it is strongly recommended to use the Google browser simulator for development, please use in the mobile side.

在UC浏览器上表现较差,作者已将UC浏览器定义为资讯类应用,非专业浏览器,不会专门去兼容它。

Will not specifically go too compatible with the old browser

引入 Import

npm

npm install jroll --save

普通方式引入

<script src='jroll'></script>

CommonJS规范引入

var JRoll = require('jroll');

AMD规范引入(requireJS)

require(['jroll'], function(JRoll) {
    ...
});

CMD规范引入(seaJS)

seajs.use('jroll', function(JRoll) {
    ...
});

简单例子 Simple example

<!-- html代码 -->
<div id="wrapper">
    <ul id="scroller">
        <li>有一美人兮,见之不忘。</li>
        <li>一日不见兮,思之如狂。</li>
        <li>凤飞翱翔兮,四海求凰。</li>
        <li>无奈佳人兮,不在东墙。</li>
        <li>将琴代语兮,聊写衷肠。</li>
        <li>何日见许兮,慰我彷徨。</li>
        <li>愿言配德兮,携手相将。</li>
        <li>不得於飞兮,使我沦亡。</li>
    </ul>
</div>

<!-- css代码 -->
<style>
ul {margin: 0; padding: 0;}
li {line-height: 24px; margin-left: 24px;}
#wrapper {width: 200px; height: 100px; border: 1px solid;}
</style>

<!-- javascript代码 -->
<script>
new JRoll("#wrapper");
</script>

使用 Use

如何使用 How to use

var jroll = new JRoll(selector [, options]);

selector是容器,可以是id选择器字符串#wrapper,也可以是dom对象document.getElementById('wrapper'),第二个参数是可选对象,该参数内容决定了创建一个怎样的JRoll对象

The selector is a container, either an id selector string #wrapper or a dom object document.getElementById ( 'wrapper'). The second argument is an optional object that determines how a JRoll instance is created.

例:创建一个带垂直滚动条的对象

Example: Create an instance with a vertical scroll bar

var jroll = new JRoll("#wrapper", {scrollBarY:true});

保存了JRoll对象后,可动态对部分可选参数进行修改

Save the JRoll instance, you can dynamically modify some of the optional parameters

例:禁止回弹

Example: No rebound

jroll.options.bounce = false;

可选参数 Options

表示可动态修改

Means that can be dynamically modified

可选值 Key 默认值 Default Value 说明 Description
id [随机生成]
[Randomly generated]
id,jroll对象的唯一标记,建议手动提供id,方便在全局JRoll.jrollMap访问指定jroll对象,不提供时系统自动创建。
Id, the unique identifier of the JRoll instance, it is recommended to manually provide id, convenient access to the specified JRoll instance in global JRoll.jrollMap, if haven't the system will automatically created.
scrollX false 使能水平滑动
Enable horizontal sliding
scrollY true 使能垂直滑动
Enable vertical sliding
scrollFree false 使能自由滑动,默认情况下,x方向在滑动时,y方向不能滑动,相反亦然,如果应用于对图片进行放大滑动,可将此参数设为true
By default, the y direction does not slide when the x direction is sliding, and vice versa. If you apply zooming to a picture, you can set this parameter to true
minX 0 向左滑动的边界值
The boundary value to the right
maxX [负scroller的宽]
[-scroller's width]
向右滑动的边界值
The boundary value to the left
minY 0 向下滑动的边界值
The boundary value to the up
maxY [负scroller的高]
[-scroller's height]
向上滑动的边界值
The boundary value to the down
zoom false 使能缩放
Enable scaling
zoomMin 1.0 最小缩放倍数
Minimum zoom factor
zoomMax 4.0 最大缩放倍数
Maximum zoom factor
bounce true 允许回弹
Allow the rebound
scrollBarX false 开启水平滚动条,滚动页面超过两横屏时才会出现滚动条
Open the horizontal scroll bar
scrollBarY false 开启垂直滚动条,滚动页面超过两竖屏时才会出现滚动条
Open the vertical scroll bar
scrollBarFade false 滚动条使用渐隐模式
The scroll bar uses fade mode
preventDefault true 禁止touchmove默认事件
Disables the touchmove default event
momentum true 开启滑动加速,惯性过渡
Open sliding acceleration, inertial transition
autoStyle true 自动为wrapper和scroller添加样式
Automatically adds styles to the wrapper and scroller
autoBlur true v2.4.3新增,在滑动时自动将input/textarea失焦收起软键盘。设为false将会在IOS上出现光标不跟随输入框移动的现象
adjustTop 190 从JRoll v2.2.0版本开始,JRoll删除了adjustTop选项,自动调整安卓机输入框位置的功能抽离到jroll-fixedinput.js里。安卓手机弹出软键盘时自动调整输入框位置,作者不建议使用该项,如遇软键盘遮挡输入框的情况,建议重新设计表单页面。参考:WebAPP输入框被软键盘遮挡肿么办?
scroller [wrapper的第一个子元素]
[Wrapper's first child element]
指定scroller,不可动态更改,可以是id选择器字符串#scroller,也可以是dom对象document.getElementById('scroller')
Specified scroller, can not be dynamically changed, can be id selector string #scroller, or can be dom document.getElementById ( 'scroller')
edgeRelease true v2.4.7新增,边缘释放,滑动到上下边界自动结束,解决手指滑出屏幕没触发touchEnd事件的问题。如果手指滑动屏幕的速度过快该选项并不一定起作用

属性 Attributes

  • id,JRoll对象的唯一标识符。
  • id -> the unique identifier for the JRoll instances.
var jroll = new JRoll("#wrapper");
console.log(jroll.id);
  • jrollMap,对象,JRoll对象集合,保存了当前页面的所有JRoll对象。
  • jrollMap -> object, JRoll instances collection, the current page to save all the JRoll instances.
console.log(JRoll.jrollMap);

方法 Method


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap