simplyscroll-rails 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- checksums.yaml +7 -0
- data/LICENSE +22 -0
- data/README.md +41 -0
- data/lib/simplyscroll-rails/version.rb +3 -0
- data/lib/simplyscroll-rails.rb +17 -0
- data/vendor/assets/fonts/flexslider-icon.eot +0 -0
- data/vendor/assets/fonts/flexslider-icon.svg +19 -0
- data/vendor/assets/fonts/flexslider-icon.ttf +0 -0
- data/vendor/assets/fonts/flexslider-icon.woff +0 -0
- data/vendor/assets/images/bg_direction_nav.png +0 -0
- data/vendor/assets/images/bg_play_pause.png +0 -0
- data/vendor/assets/images/buttons.png +0 -0
- data/vendor/assets/javascripts/jquery.simplyscroll.js +389 -0
- data/vendor/assets/javascripts/jquery.simplyscroll.min.js +27 -0
- data/vendor/assets/stylesheets/simplyscroll.css +217 -0
- metadata +73 -0
checksums.yaml
ADDED
@@ -0,0 +1,7 @@
|
|
1
|
+
---
|
2
|
+
SHA1:
|
3
|
+
metadata.gz: 613c890183aff15e4f71319771d98629c6069714
|
4
|
+
data.tar.gz: f346372b87d33b27d3b1086776d8f0c6f9322e4d
|
5
|
+
SHA512:
|
6
|
+
metadata.gz: 042a09a501c17e6789dbfd1c3ff1d1282d3ef02d9e208bb9b4656e5fe069f3a3698bde774fbe80c971e1c19cb2f89e68699829a935642a5c18ae4c61fa9753bd
|
7
|
+
data.tar.gz: a1ac1d830fa78cc409f9cdad885900f39084ead62f6ab4374cc01d83afb9223acbf0e5dc81f626981ffbd06cc493d8da5a5311e8bc2cdb9c39e44b9bbc5291b2
|
data/LICENSE
ADDED
@@ -0,0 +1,22 @@
|
|
1
|
+
Copyright (c) 2015 TwoWeb
|
2
|
+
|
3
|
+
MIT License
|
4
|
+
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining
|
6
|
+
a copy of this software and associated documentation files (the
|
7
|
+
"Software"), to deal in the Software without restriction, including
|
8
|
+
without limitation the rights to use, copy, modify, merge, publish,
|
9
|
+
distribute, sublicense, and/or sell copies of the Software, and to
|
10
|
+
permit persons to whom the Software is furnished to do so, subject to
|
11
|
+
the following conditions:
|
12
|
+
|
13
|
+
The above copyright notice and this permission notice shall be
|
14
|
+
included in all copies or substantial portions of the Software.
|
15
|
+
|
16
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
|
17
|
+
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
|
18
|
+
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
|
19
|
+
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE
|
20
|
+
LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION
|
21
|
+
OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION
|
22
|
+
WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
data/README.md
ADDED
@@ -0,0 +1,41 @@
|
|
1
|
+
# SimplyScroll Rails Gem
|
2
|
+
|
3
|
+
|
4
|
+
## Installation
|
5
|
+
|
6
|
+
Add this line to your application's Gemfile:
|
7
|
+
|
8
|
+
gem 'simplyscroll-rails'
|
9
|
+
|
10
|
+
Alternatively, you can get it from Github
|
11
|
+
|
12
|
+
gem 'simplyscroll-rails', :git => 'https://github.com/twoweb/simplyscroll-rails.git'
|
13
|
+
|
14
|
+
And then execute:
|
15
|
+
|
16
|
+
$ bundle install
|
17
|
+
|
18
|
+
## Usage
|
19
|
+
|
20
|
+
simplyscroll-rails is dependant on jQuery, so make sure you have it in your Gemfile.
|
21
|
+
|
22
|
+
//= require jquery
|
23
|
+
|
24
|
+
Add to your app/assets/javascripts/application.js
|
25
|
+
|
26
|
+
//= require jquery.simplyscroll
|
27
|
+
|
28
|
+
Or for the minified version
|
29
|
+
|
30
|
+
//= require jquery.simplyscroll-min
|
31
|
+
|
32
|
+
And to your app/assets/stylesheets/application.css
|
33
|
+
|
34
|
+
*= require simplyscroll.css
|
35
|
+
|
36
|
+
## Documentation
|
37
|
+
|
38
|
+
Usage documentation as well as demos can be found at:
|
39
|
+
|
40
|
+
https://github.com/logicbox/jquery-simplyscroll
|
41
|
+
http://logicbox.net/jquery/simplyscroll/
|
@@ -0,0 +1,17 @@
|
|
1
|
+
require "simplyscroll-rails/version"
|
2
|
+
|
3
|
+
module Simplyscroll
|
4
|
+
module Rails
|
5
|
+
class Engine < ::Rails::Engine
|
6
|
+
initializer :append_dependent_assets_path, :group => :all do |app|
|
7
|
+
app.config.assets.paths += %w( fonts )
|
8
|
+
|
9
|
+
app.config.assets.precompile += %w( simplyscroll.css )
|
10
|
+
app.config.assets.precompile += %w( jquery.simplyscroll.js )
|
11
|
+
|
12
|
+
app.config.assets.precompile += %w( buttons.png )
|
13
|
+
|
14
|
+
end
|
15
|
+
end
|
16
|
+
end
|
17
|
+
end
|
Binary file
|
@@ -0,0 +1,19 @@
|
|
1
|
+
<?xml version="1.0" standalone="no"?>
|
2
|
+
<!DOCTYPE svg PUBLIC "-//W3C//DTD SVG 1.1//EN" "http://www.w3.org/Graphics/SVG/1.1/DTD/svg11.dtd" >
|
3
|
+
<svg xmlns="http://www.w3.org/2000/svg">
|
4
|
+
<metadata>
|
5
|
+
This is a custom SVG font generated by IcoMoon.
|
6
|
+
<iconset grid="14"></iconset>
|
7
|
+
</metadata>
|
8
|
+
<defs>
|
9
|
+
<font id="flexslider-icon" horiz-adv-x="448" >
|
10
|
+
<font-face units-per-em="448" ascent="384" descent="-64" />
|
11
|
+
<missing-glyph horiz-adv-x="448" />
|
12
|
+
<glyph unicode="" d="M 185.50-9.25l-163.00,162.75q-9.25,9.25 -9.25,22.625t 9.25,22.625l 163.00,162.75q 9.25,9.25 22.625,9.25t 22.625-9.25l 18.75-18.75q 9.25-9.25 9.25-22.625t-9.25-22.625l-121.50-121.50l 121.50-121.25q 9.25-9.50 9.25-22.75t-9.25-22.50l-18.75-18.75q-9.25-9.25 -22.625-9.25t-22.625,9.25z" horiz-adv-x="288" />
|
13
|
+
<glyph unicode="" d="M 274.75,176.00q0.00-13.00 -9.25-22.75l-163.00-162.75q-9.25-9.25 -22.50-9.25t-22.50,9.25l-19.00,18.75q-9.25,9.75 -9.25,22.75q0.00,13.25 9.25,22.50l 121.50,121.50l-121.50,121.25q-9.25,9.75 -9.25,22.75q0.00,13.25 9.25,22.50l 19.00,18.75q 9.00,9.50 22.50,9.50t 22.50-9.50l 163.00-162.75q 9.25-9.25 9.25-22.50z" horiz-adv-x="288" />
|
14
|
+
<glyph unicode="" d="M 346.00,152.25l-332.00-184.50q-5.75-3.25 -9.875-0.75t-4.125,9.00l0.00,368.00 q0.00,6.50 4.125,9.00t 9.875-0.75l 332.00-184.50q 5.75-3.25 5.75-7.75t-5.75-7.75z" horiz-adv-x="352" />
|
15
|
+
<glyph unicode="" d="M 384.00,336.00l0.00-352.00 q0.00-6.50 -4.75-11.25t-11.25-4.75l-128.00,0.00 q-6.50,0.00 -11.25,4.75t-4.75,11.25l0.00,352.00 q0.00,6.50 4.75,11.25t 11.25,4.75l 128.00,0.00 q 6.50,0.00 11.25-4.75t 4.75-11.25zM 160.00,336.00l0.00-352.00 q0.00-6.50 -4.75-11.25t-11.25-4.75l-128.00,0.00 q-6.50,0.00 -11.25,4.75t-4.75,11.25l0.00,352.00 q0.00,6.50 4.75,11.25t 11.25,4.75l 128.00,0.00 q 6.50,0.00 11.25-4.75t 4.75-11.25z" horiz-adv-x="384" />
|
16
|
+
<glyph unicode="" d="M 402.75,208.00q0.00-13.25 -9.25-22.50l-162.75-162.75q-9.50-9.50 -22.75-9.50q-13.50,0.00 -22.50,9.50l-162.75,162.75q-9.50,9.00 -9.50,22.50q0.00,13.25 9.50,22.75l 18.50,18.75q 9.75,9.25 22.75,9.25q 13.25,0.00 22.50-9.25l 121.50-121.50l 121.50,121.50q 9.25,9.25 22.50,9.25q 13.00,0.00 22.75-9.25l 18.75-18.75q 9.25-9.75 9.25-22.75z" horiz-adv-x="416" />
|
17
|
+
<glyph unicode=" " horiz-adv-x="224" />
|
18
|
+
<glyph class="hidden" unicode="" d="M0,384L 448 -64L0 -64 z" horiz-adv-x="0" />
|
19
|
+
</font></defs></svg>
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
Binary file
|
@@ -0,0 +1,389 @@
|
|
1
|
+
/*
|
2
|
+
* simplyScroll 2 - a scroll-tastic jQuery plugin
|
3
|
+
*
|
4
|
+
* http://logicbox.net/jquery/simplyscroll/
|
5
|
+
*
|
6
|
+
* Copyright (c) 2009-2012 Will Kelly - http://logicbox.net
|
7
|
+
*
|
8
|
+
* Dual licensed under the MIT and GPL licenses.
|
9
|
+
*
|
10
|
+
* Version: 2.0.5 Last revised: 10/05/2012
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
|
14
|
+
(function($,window,undefined) {
|
15
|
+
|
16
|
+
$.fn.simplyScroll = function(options) {
|
17
|
+
return this.each(function() {
|
18
|
+
new $.simplyScroll(this,options);
|
19
|
+
});
|
20
|
+
};
|
21
|
+
|
22
|
+
var defaults = {
|
23
|
+
customClass: 'simply-scroll',
|
24
|
+
frameRate: 24, //No of movements per second
|
25
|
+
speed: 1, //No of pixels per frame
|
26
|
+
orientation: 'horizontal', //'horizontal or 'vertical' - not to be confused with device orientation
|
27
|
+
auto: true,
|
28
|
+
autoMode: 'loop', //auto = true, 'loop' or 'bounce',
|
29
|
+
manualMode: 'end', //auto = false, 'loop' or 'end'
|
30
|
+
direction: 'forwards', //'forwards' or 'backwards'.
|
31
|
+
pauseOnHover: true, //autoMode = loop|bounce only
|
32
|
+
pauseOnTouch: true, //" touch device only
|
33
|
+
pauseButton: false, //" generates an extra element to allow manual pausing
|
34
|
+
startOnLoad: false //use this to delay starting of plugin until all page assets have loaded
|
35
|
+
};
|
36
|
+
|
37
|
+
$.simplyScroll = function(el,options) {
|
38
|
+
|
39
|
+
var self = this;
|
40
|
+
|
41
|
+
this.o = $.extend({}, defaults, options || {});
|
42
|
+
this.isAuto = this.o.auto!==false && this.o.autoMode.match(/^loop|bounce$/)!==null;
|
43
|
+
this.isHorizontal = this.o.orientation.match(/^horizontal|vertical$/)!==null && this.o.orientation==defaults.orientation;
|
44
|
+
this.isRTL = this.isHorizontal && $("html").attr('dir') == 'rtl';
|
45
|
+
this.isForwards = !this.isAuto || (this.isAuto && this.o.direction.match(/^forwards|backwards$/)!==null && this.o.direction==defaults.direction) && !this.isRTL;
|
46
|
+
this.isLoop = this.isAuto && this.o.autoMode == 'loop' || !this.isAuto && this.o.manualMode == 'loop';
|
47
|
+
|
48
|
+
this.supportsTouch = ('createTouch' in document);
|
49
|
+
|
50
|
+
this.events = this.supportsTouch ?
|
51
|
+
{start:'touchstart MozTouchDown',move:'touchmove MozTouchMove',end:'touchend touchcancel MozTouchRelease'} :
|
52
|
+
{start:'mouseenter',end:'mouseleave'};
|
53
|
+
|
54
|
+
this.$list = $(el); //called on ul/ol/div etc
|
55
|
+
var $items = this.$list.children();
|
56
|
+
|
57
|
+
//generate extra markup
|
58
|
+
this.$list.addClass('simply-scroll-list')
|
59
|
+
.wrap('<div class="simply-scroll-clip"></div>')
|
60
|
+
.parent().wrap('<div class="' + this.o.customClass + ' simply-scroll-container"></div>');
|
61
|
+
|
62
|
+
if (!this.isAuto) { //button placeholders
|
63
|
+
this.$list.parent().parent()
|
64
|
+
.prepend('<div class="simply-scroll-forward"></div>')
|
65
|
+
.prepend('<div class="simply-scroll-back"></div>');
|
66
|
+
} else {
|
67
|
+
if (this.o.pauseButton) {
|
68
|
+
this.$list.parent().parent()
|
69
|
+
.prepend('<div class="simply-scroll-btn simply-scroll-btn-pause"></div>');
|
70
|
+
this.o.pauseOnHover = false;
|
71
|
+
}
|
72
|
+
}
|
73
|
+
|
74
|
+
//wrap an extra div around the whole lot if elements scrolled aren't equal
|
75
|
+
if ($items.length > 1) {
|
76
|
+
|
77
|
+
var extra_wrap = false,
|
78
|
+
total = 0;
|
79
|
+
|
80
|
+
if (this.isHorizontal) {
|
81
|
+
$items.each(function() { total+=$(this).outerWidth(true); });
|
82
|
+
extra_wrap = $items.eq(0).outerWidth(true) * $items.length !== total;
|
83
|
+
} else {
|
84
|
+
$items.each(function() { total+=$(this).outerHeight(true); });
|
85
|
+
extra_wrap = $items.eq(0).outerHeight(true) * $items.length !== total;
|
86
|
+
}
|
87
|
+
|
88
|
+
if (extra_wrap) {
|
89
|
+
this.$list = this.$list.wrap('<div></div>').parent().addClass('simply-scroll-list');
|
90
|
+
if (this.isHorizontal) {
|
91
|
+
this.$list.children().css({"float":'left',width: total + 'px'});
|
92
|
+
} else {
|
93
|
+
this.$list.children().css({height: total + 'px'});
|
94
|
+
}
|
95
|
+
}
|
96
|
+
}
|
97
|
+
|
98
|
+
if (!this.o.startOnLoad) {
|
99
|
+
this.init();
|
100
|
+
} else {
|
101
|
+
//wait for load before completing setup
|
102
|
+
$(window).load(function() { self.init(); });
|
103
|
+
}
|
104
|
+
|
105
|
+
};
|
106
|
+
|
107
|
+
$.simplyScroll.fn = $.simplyScroll.prototype = {};
|
108
|
+
|
109
|
+
$.simplyScroll.fn.extend = $.simplyScroll.extend = $.extend;
|
110
|
+
|
111
|
+
$.simplyScroll.fn.extend({
|
112
|
+
init: function() {
|
113
|
+
|
114
|
+
this.$items = this.$list.children();
|
115
|
+
this.$clip = this.$list.parent(); //this is the element that scrolls
|
116
|
+
this.$container = this.$clip.parent();
|
117
|
+
this.$btnBack = $('.simply-scroll-back',this.$container);
|
118
|
+
this.$btnForward = $('.simply-scroll-forward',this.$container);
|
119
|
+
|
120
|
+
if (!this.isHorizontal) {
|
121
|
+
this.itemMax = this.$items.eq(0).outerHeight(true);
|
122
|
+
this.clipMax = this.$clip.height();
|
123
|
+
this.dimension = 'height';
|
124
|
+
this.moveBackClass = 'simply-scroll-btn-up';
|
125
|
+
this.moveForwardClass = 'simply-scroll-btn-down';
|
126
|
+
this.scrollPos = 'Top';
|
127
|
+
} else {
|
128
|
+
this.itemMax = this.$items.eq(0).outerWidth(true);
|
129
|
+
this.clipMax = this.$clip.width();
|
130
|
+
this.dimension = 'width';
|
131
|
+
this.moveBackClass = 'simply-scroll-btn-left';
|
132
|
+
this.moveForwardClass = 'simply-scroll-btn-right';
|
133
|
+
this.scrollPos = 'Left';
|
134
|
+
}
|
135
|
+
|
136
|
+
this.posMin = 0;
|
137
|
+
|
138
|
+
this.posMax = this.$items.length * this.itemMax;
|
139
|
+
|
140
|
+
var addItems = Math.ceil(this.clipMax / this.itemMax);
|
141
|
+
|
142
|
+
//auto scroll loop & manual scroll bounce or end(to-end)
|
143
|
+
if (this.isAuto && this.o.autoMode=='loop') {
|
144
|
+
|
145
|
+
this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems) +'px');
|
146
|
+
|
147
|
+
this.posMax += (this.clipMax - this.o.speed);
|
148
|
+
|
149
|
+
if (this.isForwards) {
|
150
|
+
this.$items.slice(0,addItems).clone(true).appendTo(this.$list);
|
151
|
+
this.resetPosition = 0;
|
152
|
+
|
153
|
+
} else {
|
154
|
+
this.$items.slice(-addItems).clone(true).prependTo(this.$list);
|
155
|
+
this.resetPosition = this.$items.length * this.itemMax;
|
156
|
+
//due to inconsistent RTL implementation force back to LTR then fake
|
157
|
+
if (this.isRTL) {
|
158
|
+
this.$clip[0].dir = 'ltr';
|
159
|
+
//based on feedback seems a good idea to force float right
|
160
|
+
this.$items.css('float','right');
|
161
|
+
}
|
162
|
+
}
|
163
|
+
|
164
|
+
//manual and loop
|
165
|
+
} else if (!this.isAuto && this.o.manualMode=='loop') {
|
166
|
+
|
167
|
+
this.posMax += this.itemMax * addItems;
|
168
|
+
|
169
|
+
this.$list.css(this.dimension,this.posMax+(this.itemMax*addItems) +'px');
|
170
|
+
|
171
|
+
this.posMax += (this.clipMax - this.o.speed);
|
172
|
+
|
173
|
+
var items_append = this.$items.slice(0,addItems).clone(true).appendTo(this.$list);
|
174
|
+
var items_prepend = this.$items.slice(-addItems).clone(true).prependTo(this.$list);
|
175
|
+
|
176
|
+
this.resetPositionForwards = this.resetPosition = addItems * this.itemMax;
|
177
|
+
this.resetPositionBackwards = this.$items.length * this.itemMax;
|
178
|
+
|
179
|
+
//extra events to force scroll direction change
|
180
|
+
var self = this;
|
181
|
+
|
182
|
+
this.$btnBack.bind(this.events.start,function() {
|
183
|
+
self.isForwards = false;
|
184
|
+
self.resetPosition = self.resetPositionBackwards;
|
185
|
+
});
|
186
|
+
|
187
|
+
this.$btnForward.bind(this.events.start,function() {
|
188
|
+
self.isForwards = true;
|
189
|
+
self.resetPosition = self.resetPositionForwards;
|
190
|
+
});
|
191
|
+
|
192
|
+
} else { //(!this.isAuto && this.o.manualMode=='end')
|
193
|
+
|
194
|
+
this.$list.css(this.dimension,this.posMax +'px');
|
195
|
+
|
196
|
+
if (this.isForwards) {
|
197
|
+
this.resetPosition = 0;
|
198
|
+
|
199
|
+
} else {
|
200
|
+
this.resetPosition = this.$items.length * this.itemMax;
|
201
|
+
//due to inconsistent RTL implementation force back to LTR then fake
|
202
|
+
if (this.isRTL) {
|
203
|
+
this.$clip[0].dir = 'ltr';
|
204
|
+
//based on feedback seems a good idea to force float right
|
205
|
+
this.$items.css('float','right');
|
206
|
+
}
|
207
|
+
}
|
208
|
+
}
|
209
|
+
|
210
|
+
this.resetPos() //ensure scroll position is reset
|
211
|
+
|
212
|
+
this.interval = null;
|
213
|
+
this.intervalDelay = Math.floor(1000 / this.o.frameRate);
|
214
|
+
|
215
|
+
if (!(!this.isAuto && this.o.manualMode=='end')) { //loop mode
|
216
|
+
//ensure that speed is divisible by item width. Helps to always make images even not odd widths!
|
217
|
+
while (this.itemMax % this.o.speed !== 0) {
|
218
|
+
this.o.speed--;
|
219
|
+
if (this.o.speed===0) {
|
220
|
+
this.o.speed=1; break;
|
221
|
+
}
|
222
|
+
}
|
223
|
+
}
|
224
|
+
|
225
|
+
var self = this;
|
226
|
+
this.trigger = null;
|
227
|
+
this.funcMoveBack = function(e) {
|
228
|
+
if (e !== undefined) {
|
229
|
+
e.preventDefault();
|
230
|
+
}
|
231
|
+
self.trigger = !self.isAuto && self.o.manualMode=='end' ? this : null;
|
232
|
+
if (self.isAuto) {
|
233
|
+
self.isForwards ? self.moveBack() : self.moveForward();
|
234
|
+
} else {
|
235
|
+
self.moveBack();
|
236
|
+
}
|
237
|
+
};
|
238
|
+
this.funcMoveForward = function(e) {
|
239
|
+
if (e !== undefined) {
|
240
|
+
e.preventDefault();
|
241
|
+
}
|
242
|
+
self.trigger = !self.isAuto && self.o.manualMode=='end' ? this : null;
|
243
|
+
if (self.isAuto) {
|
244
|
+
self.isForwards ? self.moveForward() : self.moveBack();
|
245
|
+
} else {
|
246
|
+
self.moveForward();
|
247
|
+
}
|
248
|
+
};
|
249
|
+
this.funcMovePause = function() { self.movePause(); };
|
250
|
+
this.funcMoveStop = function() { self.moveStop(); };
|
251
|
+
this.funcMoveResume = function() { self.moveResume(); };
|
252
|
+
|
253
|
+
|
254
|
+
|
255
|
+
if (this.isAuto) {
|
256
|
+
|
257
|
+
this.paused = false;
|
258
|
+
|
259
|
+
function togglePause() {
|
260
|
+
if (self.paused===false) {
|
261
|
+
self.paused=true;
|
262
|
+
self.funcMovePause();
|
263
|
+
} else {
|
264
|
+
self.paused=false;
|
265
|
+
self.funcMoveResume();
|
266
|
+
}
|
267
|
+
return self.paused;
|
268
|
+
};
|
269
|
+
|
270
|
+
//disable pauseTouch when links are present
|
271
|
+
if (this.supportsTouch && this.$items.find('a').length) {
|
272
|
+
this.supportsTouch=false;
|
273
|
+
}
|
274
|
+
|
275
|
+
if (this.isAuto && this.o.pauseOnHover && !this.supportsTouch) {
|
276
|
+
this.$clip.bind(this.events.start,this.funcMovePause).bind(this.events.end,this.funcMoveResume);
|
277
|
+
} else if (this.isAuto && this.o.pauseOnTouch && !this.o.pauseButton && this.supportsTouch) {
|
278
|
+
|
279
|
+
var touchStartPos, scrollStartPos;
|
280
|
+
|
281
|
+
this.$clip.bind(this.events.start,function(e) {
|
282
|
+
togglePause();
|
283
|
+
var touch = e.originalEvent.touches[0];
|
284
|
+
touchStartPos = self.isHorizontal ? touch.pageX : touch.pageY;
|
285
|
+
scrollStartPos = self.$clip[0]['scroll' + self.scrollPos];
|
286
|
+
e.stopPropagation();
|
287
|
+
e.preventDefault();
|
288
|
+
|
289
|
+
}).bind(this.events.move,function(e) {
|
290
|
+
|
291
|
+
e.stopPropagation();
|
292
|
+
e.preventDefault();
|
293
|
+
|
294
|
+
var touch = e.originalEvent.touches[0],
|
295
|
+
endTouchPos = self.isHorizontal ? touch.pageX : touch.pageY,
|
296
|
+
pos = (touchStartPos - endTouchPos) + scrollStartPos;
|
297
|
+
|
298
|
+
if (pos < 0) pos = 0;
|
299
|
+
else if (pos > self.posMax) pos = self.posMax;
|
300
|
+
|
301
|
+
self.$clip[0]['scroll' + self.scrollPos] = pos;
|
302
|
+
|
303
|
+
//force pause
|
304
|
+
self.funcMovePause();
|
305
|
+
self.paused = true;
|
306
|
+
});
|
307
|
+
} else {
|
308
|
+
if (this.o.pauseButton) {
|
309
|
+
|
310
|
+
this.$btnPause = $(".simply-scroll-btn-pause",this.$container)
|
311
|
+
.bind('click',function(e) {
|
312
|
+
e.preventDefault();
|
313
|
+
togglePause() ? $(this).addClass('active') : $(this).removeClass('active');
|
314
|
+
});
|
315
|
+
}
|
316
|
+
}
|
317
|
+
this.funcMoveForward();
|
318
|
+
} else {
|
319
|
+
|
320
|
+
this.$btnBack
|
321
|
+
.addClass('simply-scroll-btn' + ' ' + this.moveBackClass)
|
322
|
+
.bind(this.events.start,this.funcMoveBack).bind(this.events.end,this.funcMoveStop);
|
323
|
+
this.$btnForward
|
324
|
+
.addClass('simply-scroll-btn' + ' ' + this.moveForwardClass)
|
325
|
+
.bind(this.events.start,this.funcMoveForward).bind(this.events.end,this.funcMoveStop);
|
326
|
+
|
327
|
+
if (this.o.manualMode == 'end') {
|
328
|
+
!this.isRTL ? this.$btnBack.addClass('disabled') : this.$btnForward.addClass('disabled');
|
329
|
+
}
|
330
|
+
}
|
331
|
+
},
|
332
|
+
moveForward: function() {
|
333
|
+
var self = this;
|
334
|
+
this.movement = 'forward';
|
335
|
+
if (this.trigger !== null) {
|
336
|
+
this.$btnBack.removeClass('disabled');
|
337
|
+
}
|
338
|
+
self.interval = setInterval(function() {
|
339
|
+
if (self.$clip[0]['scroll' + self.scrollPos] < (self.posMax-self.clipMax)) {
|
340
|
+
self.$clip[0]['scroll' + self.scrollPos] += self.o.speed;
|
341
|
+
} else if (self.isLoop) {
|
342
|
+
self.resetPos();
|
343
|
+
} else {
|
344
|
+
self.moveStop(self.movement);
|
345
|
+
}
|
346
|
+
},self.intervalDelay);
|
347
|
+
},
|
348
|
+
moveBack: function() {
|
349
|
+
var self = this;
|
350
|
+
this.movement = 'back';
|
351
|
+
if (this.trigger !== null) {
|
352
|
+
this.$btnForward.removeClass('disabled');
|
353
|
+
}
|
354
|
+
self.interval = setInterval(function() {
|
355
|
+
if (self.$clip[0]['scroll' + self.scrollPos] > self.posMin) {
|
356
|
+
self.$clip[0]['scroll' + self.scrollPos] -= self.o.speed;
|
357
|
+
} else if (self.isLoop) {
|
358
|
+
self.resetPos();
|
359
|
+
} else {
|
360
|
+
self.moveStop(self.movement);
|
361
|
+
}
|
362
|
+
},self.intervalDelay);
|
363
|
+
},
|
364
|
+
movePause: function() {
|
365
|
+
clearInterval(this.interval);
|
366
|
+
},
|
367
|
+
moveStop: function(moveDir) {
|
368
|
+
this.movePause();
|
369
|
+
if (this.trigger!==null) {
|
370
|
+
if (typeof moveDir !== 'undefined') {
|
371
|
+
$(this.trigger).addClass('disabled');
|
372
|
+
}
|
373
|
+
this.trigger = null;
|
374
|
+
}
|
375
|
+
if (this.isAuto) {
|
376
|
+
if (this.o.autoMode=='bounce') {
|
377
|
+
moveDir == 'forward' ? this.moveBack() : this.moveForward();
|
378
|
+
}
|
379
|
+
}
|
380
|
+
},
|
381
|
+
moveResume: function() {
|
382
|
+
this.movement=='forward' ? this.moveForward() : this.moveBack();
|
383
|
+
},
|
384
|
+
resetPos: function() {
|
385
|
+
this.$clip[0]['scroll' + this.scrollPos] = this.resetPosition;
|
386
|
+
}
|
387
|
+
});
|
388
|
+
|
389
|
+
})(jQuery,window);
|
@@ -0,0 +1,27 @@
|
|
1
|
+
/*
|
2
|
+
* simplyScroll 2 - a scroll-tastic jQuery plugin
|
3
|
+
*
|
4
|
+
* http://logicbox.net/jquery/simplyscroll/
|
5
|
+
*
|
6
|
+
* Copyright (c) 2009-2012 Will Kelly - http://logicbox.net
|
7
|
+
*
|
8
|
+
* Dual licensed under the MIT and GPL licenses.
|
9
|
+
*
|
10
|
+
* Version: 2.0.5 Last revised: 10/05/2012
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
(function(c,j,i){c.fn.simplyScroll=function(a){return this.each(function(){new c.simplyScroll(this,a)})};var h={customClass:"simply-scroll",frameRate:24,speed:1,orientation:"horizontal",auto:!0,autoMode:"loop",manualMode:"end",direction:"forwards",pauseOnHover:!0,pauseOnTouch:!0,pauseButton:!1,startOnLoad:!1};c.simplyScroll=function(a,b){var g=this;this.o=c.extend({},h,b||{});this.isAuto=!1!==this.o.auto&&null!==this.o.autoMode.match(/^loop|bounce$/);this.isRTL=(this.isHorizontal=null!==this.o.orientation.match(/^horizontal|vertical$/)&&
|
14
|
+
this.o.orientation==h.orientation)&&"rtl"==c("html").attr("dir");this.isForwards=!this.isAuto||this.isAuto&&(null!==this.o.direction.match(/^forwards|backwards$/)&&this.o.direction==h.direction)&&!this.isRTL;this.isLoop=this.isAuto&&"loop"==this.o.autoMode||!this.isAuto&&"loop"==this.o.manualMode;this.events=(this.supportsTouch="createTouch"in document)?{start:"touchstart MozTouchDown",move:"touchmove MozTouchMove",end:"touchend touchcancel MozTouchRelease"}:{start:"mouseenter",end:"mouseleave"};
|
15
|
+
this.$list=c(a);var d=this.$list.children();this.$list.addClass("simply-scroll-list").wrap('<div class="simply-scroll-clip"></div>').parent().wrap('<div class="'+this.o.customClass+' simply-scroll-container"></div>');this.isAuto?this.o.pauseButton&&(this.$list.parent().parent().prepend('<div class="simply-scroll-btn simply-scroll-btn-pause"></div>'),this.o.pauseOnHover=!1):this.$list.parent().parent().prepend('<div class="simply-scroll-forward"></div>').prepend('<div class="simply-scroll-back"></div>');
|
16
|
+
if(1<d.length){var f=!1,e=0;this.isHorizontal?(d.each(function(){e=e+c(this).outerWidth(true)}),f=d.eq(0).outerWidth(!0)*d.length!==e):(d.each(function(){e=e+c(this).outerHeight(true)}),f=d.eq(0).outerHeight(!0)*d.length!==e);f&&(this.$list=this.$list.wrap("<div></div>").parent().addClass("simply-scroll-list"),this.isHorizontal?this.$list.children().css({"float":"left",width:e+"px"}):this.$list.children().css({height:e+"px"}))}this.o.startOnLoad?c(j).load(function(){g.init()}):this.init()};c.simplyScroll.fn=
|
17
|
+
c.simplyScroll.prototype={};c.simplyScroll.fn.extend=c.simplyScroll.extend=c.extend;c.simplyScroll.fn.extend({init:function(){this.$items=this.$list.children();this.$clip=this.$list.parent();this.$container=this.$clip.parent();this.$btnBack=c(".simply-scroll-back",this.$container);this.$btnForward=c(".simply-scroll-forward",this.$container);this.isHorizontal?(this.itemMax=this.$items.eq(0).outerWidth(!0),this.clipMax=this.$clip.width(),this.dimension="width",this.moveBackClass="simply-scroll-btn-left",
|
18
|
+
this.moveForwardClass="simply-scroll-btn-right",this.scrollPos="Left"):(this.itemMax=this.$items.eq(0).outerHeight(!0),this.clipMax=this.$clip.height(),this.dimension="height",this.moveBackClass="simply-scroll-btn-up",this.moveForwardClass="simply-scroll-btn-down",this.scrollPos="Top");this.posMin=0;this.posMax=this.$items.length*this.itemMax;var a=Math.ceil(this.clipMax/this.itemMax);if(this.isAuto&&"loop"==this.o.autoMode)this.$list.css(this.dimension,this.posMax+this.itemMax*a+"px"),this.posMax+=
|
19
|
+
this.clipMax-this.o.speed,this.isForwards?(this.$items.slice(0,a).clone(!0).appendTo(this.$list),this.resetPosition=0):(this.$items.slice(-a).clone(!0).prependTo(this.$list),this.resetPosition=this.$items.length*this.itemMax,this.isRTL&&(this.$clip[0].dir="ltr",this.$items.css("float","right")));else if(!this.isAuto&&"loop"==this.o.manualMode){this.posMax+=this.itemMax*a;this.$list.css(this.dimension,this.posMax+this.itemMax*a+"px");this.posMax+=this.clipMax-this.o.speed;this.$items.slice(0,a).clone(!0).appendTo(this.$list);
|
20
|
+
this.$items.slice(-a).clone(!0).prependTo(this.$list);this.resetPositionForwards=this.resetPosition=a*this.itemMax;this.resetPositionBackwards=this.$items.length*this.itemMax;var b=this;this.$btnBack.bind(this.events.start,function(){b.isForwards=false;b.resetPosition=b.resetPositionBackwards});this.$btnForward.bind(this.events.start,function(){b.isForwards=true;b.resetPosition=b.resetPositionForwards})}else this.$list.css(this.dimension,this.posMax+"px"),this.isForwards?this.resetPosition=0:(this.resetPosition=
|
21
|
+
this.$items.length*this.itemMax,this.isRTL&&(this.$clip[0].dir="ltr",this.$items.css("float","right")));this.resetPos();this.interval=null;this.intervalDelay=Math.floor(1E3/this.o.frameRate);if(this.isAuto||"end"!=this.o.manualMode)for(;0!==this.itemMax%this.o.speed;)if(this.o.speed--,0===this.o.speed){this.o.speed=1;break}b=this;this.trigger=null;this.funcMoveBack=function(a){a!==i&&a.preventDefault();b.trigger=!b.isAuto&&b.o.manualMode=="end"?this:null;b.isAuto?b.isForwards?b.moveBack():b.moveForward():
|
22
|
+
b.moveBack()};this.funcMoveForward=function(a){a!==i&&a.preventDefault();b.trigger=!b.isAuto&&b.o.manualMode=="end"?this:null;b.isAuto?b.isForwards?b.moveForward():b.moveBack():b.moveForward()};this.funcMovePause=function(){b.movePause()};this.funcMoveStop=function(){b.moveStop()};this.funcMoveResume=function(){b.moveResume()};if(this.isAuto){this.paused=!1;var g=function(){if(b.paused===false){b.paused=true;b.funcMovePause()}else{b.paused=false;b.funcMoveResume()}return b.paused};this.supportsTouch&&
|
23
|
+
this.$items.find("a").length&&(this.supportsTouch=!1);if(this.isAuto&&this.o.pauseOnHover&&!this.supportsTouch)this.$clip.bind(this.events.start,this.funcMovePause).bind(this.events.end,this.funcMoveResume);else if(this.isAuto&&this.o.pauseOnTouch&&!this.o.pauseButton&&this.supportsTouch){var d,f;this.$clip.bind(this.events.start,function(a){g();var c=a.originalEvent.touches[0];d=b.isHorizontal?c.pageX:c.pageY;f=b.$clip[0]["scroll"+b.scrollPos];a.stopPropagation();a.preventDefault()}).bind(this.events.move,
|
24
|
+
function(a){a.stopPropagation();a.preventDefault();a=a.originalEvent.touches[0];a=d-(b.isHorizontal?a.pageX:a.pageY)+f;if(a<0)a=0;else if(a>b.posMax)a=b.posMax;b.$clip[0]["scroll"+b.scrollPos]=a;b.funcMovePause();b.paused=true})}else this.o.pauseButton&&(this.$btnPause=c(".simply-scroll-btn-pause",this.$container).bind("click",function(a){a.preventDefault();g()?c(this).addClass("active"):c(this).removeClass("active")}));this.funcMoveForward()}else this.$btnBack.addClass("simply-scroll-btn "+this.moveBackClass).bind(this.events.start,
|
25
|
+
this.funcMoveBack).bind(this.events.end,this.funcMoveStop),this.$btnForward.addClass("simply-scroll-btn "+this.moveForwardClass).bind(this.events.start,this.funcMoveForward).bind(this.events.end,this.funcMoveStop),"end"==this.o.manualMode&&(!this.isRTL?this.$btnBack.addClass("disabled"):this.$btnForward.addClass("disabled"))},moveForward:function(){var a=this;this.movement="forward";null!==this.trigger&&this.$btnBack.removeClass("disabled");a.interval=setInterval(function(){a.$clip[0]["scroll"+a.scrollPos]<
|
26
|
+
a.posMax-a.clipMax?a.$clip[0]["scroll"+a.scrollPos]+=a.o.speed:a.isLoop?a.resetPos():a.moveStop(a.movement)},a.intervalDelay)},moveBack:function(){var a=this;this.movement="back";null!==this.trigger&&this.$btnForward.removeClass("disabled");a.interval=setInterval(function(){a.$clip[0]["scroll"+a.scrollPos]>a.posMin?a.$clip[0]["scroll"+a.scrollPos]-=a.o.speed:a.isLoop?a.resetPos():a.moveStop(a.movement)},a.intervalDelay)},movePause:function(){clearInterval(this.interval)},moveStop:function(a){this.movePause();
|
27
|
+
null!==this.trigger&&("undefined"!==typeof a&&c(this.trigger).addClass("disabled"),this.trigger=null);this.isAuto&&"bounce"==this.o.autoMode&&("forward"==a?this.moveBack():this.moveForward())},moveResume:function(){"forward"==this.movement?this.moveForward():this.moveBack()},resetPos:function(){this.$clip[0]["scroll"+this.scrollPos]=this.resetPosition}})})(jQuery,window);
|
@@ -0,0 +1,217 @@
|
|
1
|
+
/*
|
2
|
+
* simplyScroll 2 - a scroll-tastic jQuery plugin
|
3
|
+
*
|
4
|
+
* http://logicbox.net/jquery/simplyscroll
|
5
|
+
*
|
6
|
+
* Copyright (c) 2009-2012 Will Kelly - http://logicbox.net
|
7
|
+
*
|
8
|
+
* Dual licensed under the MIT and GPL licenses.
|
9
|
+
*
|
10
|
+
* Last revised: 31/01/2012
|
11
|
+
*
|
12
|
+
*/
|
13
|
+
|
14
|
+
/* Default/Master classes
|
15
|
+
|
16
|
+
Example markup format (for horizontal scroller)
|
17
|
+
Note all DIVs are generated and should not be hard-coded
|
18
|
+
|
19
|
+
<div class="your-custom-class simply-scroll-container">
|
20
|
+
<div class="simply-scroll-btn simply-scroll-btn-left"></div>
|
21
|
+
<div class="simply-scroll-btn simply-scroll-btn-right"></div>
|
22
|
+
<div class="simply-scroll-clip">
|
23
|
+
<ul class="simply-scroll-list">
|
24
|
+
<li>...</li>
|
25
|
+
...
|
26
|
+
</ul>
|
27
|
+
</div>
|
28
|
+
</div>
|
29
|
+
|
30
|
+
|
31
|
+
*/
|
32
|
+
|
33
|
+
.simply-scroll-container { /* Container DIV - automatically generated */
|
34
|
+
position: relative;
|
35
|
+
}
|
36
|
+
|
37
|
+
.simply-scroll-clip { /* Clip DIV - automatically generated */
|
38
|
+
position: relative;
|
39
|
+
overflow: hidden;
|
40
|
+
}
|
41
|
+
|
42
|
+
.simply-scroll-list { /* UL/OL/DIV - the element that simplyScroll is inited on */
|
43
|
+
overflow: hidden;
|
44
|
+
margin: 0;
|
45
|
+
padding: 0;
|
46
|
+
list-style: none;
|
47
|
+
}
|
48
|
+
|
49
|
+
.simply-scroll-list li {
|
50
|
+
padding: 0;
|
51
|
+
margin: 0;
|
52
|
+
list-style: none;
|
53
|
+
}
|
54
|
+
|
55
|
+
.simply-scroll-list li img {
|
56
|
+
border: none;
|
57
|
+
display: block;
|
58
|
+
}
|
59
|
+
|
60
|
+
.simply-scroll-btn {
|
61
|
+
position: absolute;
|
62
|
+
background-image: url(../images/buttons.png);
|
63
|
+
width: 42px;
|
64
|
+
height: 44px;
|
65
|
+
z-index:3;
|
66
|
+
cursor: pointer;
|
67
|
+
}
|
68
|
+
|
69
|
+
.simply-scroll-btn-left {
|
70
|
+
left: 6px;
|
71
|
+
bottom: 6px;
|
72
|
+
background-position: 0 -44px;
|
73
|
+
}
|
74
|
+
.simply-scroll-btn-left.disabled {
|
75
|
+
background-position: 0 0 !important;
|
76
|
+
}
|
77
|
+
.simply-scroll-btn-left:hover, .simply-scroll-btn-left:focus {
|
78
|
+
background-position: 0 -88px;
|
79
|
+
}
|
80
|
+
|
81
|
+
.simply-scroll-btn-right {
|
82
|
+
right: 6px;
|
83
|
+
bottom: 6px;
|
84
|
+
background-position: -84px -44px;
|
85
|
+
}
|
86
|
+
.simply-scroll-btn-right.disabled {
|
87
|
+
background-position: -84px 0 !important;
|
88
|
+
}
|
89
|
+
.simply-scroll-btn-right:hover, .simply-scroll-btn-right:focus {
|
90
|
+
background-position: -84px -88px;
|
91
|
+
}
|
92
|
+
|
93
|
+
.simply-scroll-btn-up {
|
94
|
+
right: 6px;
|
95
|
+
top: 6px;
|
96
|
+
background-position: -126px -44px;
|
97
|
+
}
|
98
|
+
.simply-scroll-btn-up.disabled {
|
99
|
+
background-position: -126px 0 !important;
|
100
|
+
}
|
101
|
+
.simply-scroll-btn-up:hover, .simply-scroll-btn-up:focus {
|
102
|
+
background-position: -126px -88px;
|
103
|
+
}
|
104
|
+
|
105
|
+
.simply-scroll-btn-down {
|
106
|
+
right: 6px;
|
107
|
+
bottom: 6px;
|
108
|
+
background-position: -42px -44px;
|
109
|
+
}
|
110
|
+
.simply-scroll-btn-down.disabled {
|
111
|
+
background-position: -42px 0 !important;
|
112
|
+
}
|
113
|
+
.simply-scroll-btn-down:hover, .simply-scroll-btn-down:focus {
|
114
|
+
background-position: -42px -88px;
|
115
|
+
}
|
116
|
+
|
117
|
+
.simply-scroll-btn-pause {
|
118
|
+
right: 6px;
|
119
|
+
bottom: 6px;
|
120
|
+
background-position: -168px -44px;
|
121
|
+
}
|
122
|
+
.simply-scroll-btn-pause:hover, .simply-scroll-btn-pause:focus {
|
123
|
+
background-position: -168px -88px;
|
124
|
+
}
|
125
|
+
|
126
|
+
.simply-scroll-btn-pause.active {
|
127
|
+
background-position: -84px -44px;
|
128
|
+
}
|
129
|
+
.simply-scroll-btn-pause.active:hover, .simply-scroll-btn-pause.active:focus {
|
130
|
+
background-position: -84px -88px;
|
131
|
+
}
|
132
|
+
|
133
|
+
/* Custom class modifications - override classees
|
134
|
+
|
135
|
+
.simply-scroll is default
|
136
|
+
|
137
|
+
*/
|
138
|
+
|
139
|
+
.simply-scroll { /* Customisable base class for style override DIV */
|
140
|
+
width: 576px;
|
141
|
+
height: 200px;
|
142
|
+
margin-bottom: 1em;
|
143
|
+
}
|
144
|
+
|
145
|
+
.simply-scroll .simply-scroll-clip {
|
146
|
+
width: 576px;
|
147
|
+
height: 200px;
|
148
|
+
}
|
149
|
+
|
150
|
+
.simply-scroll .simply-scroll-list {}
|
151
|
+
|
152
|
+
.simply-scroll .simply-scroll-list li {
|
153
|
+
float: left;
|
154
|
+
width: 290px;
|
155
|
+
height: 200px;
|
156
|
+
}
|
157
|
+
.simply-scroll .simply-scroll-list li img {}
|
158
|
+
|
159
|
+
.simply-scroll .simply-scroll-btn {}
|
160
|
+
|
161
|
+
.simply-scroll .simply-scroll-btn-left {}
|
162
|
+
.simply-scroll .simply-scroll-btn-left.disabled {}
|
163
|
+
.simply-scroll .simply-scroll-btn-left:hover {}
|
164
|
+
|
165
|
+
.simply-scroll .simply-scroll-btn-right {}
|
166
|
+
.simply-scroll .simply-scroll-btn-right.disabled {}
|
167
|
+
.simply-scroll .simply-scroll-btn-right:hover {}
|
168
|
+
|
169
|
+
.simply-scroll .simply-scroll-btn-up {}
|
170
|
+
.simply-scroll .simply-scroll-btn-up.disabled {}
|
171
|
+
.simply-scroll .simply-scroll-btn-up:hover {}
|
172
|
+
|
173
|
+
.simply-scroll .simply-scroll-btn-down {}
|
174
|
+
.simply-scroll .simply-scroll-btn-down.disabled {}
|
175
|
+
.simply-scroll .simply-scroll-btn-down:hover {}
|
176
|
+
|
177
|
+
|
178
|
+
|
179
|
+
/* Vertical scroller example */
|
180
|
+
|
181
|
+
.vert { /* wider than clip to position buttons to side */
|
182
|
+
width: 340px;
|
183
|
+
height: 400px;
|
184
|
+
margin-bottom: 1.5em;
|
185
|
+
}
|
186
|
+
|
187
|
+
.vert .simply-scroll-clip {
|
188
|
+
width: 290px;
|
189
|
+
height: 400px;
|
190
|
+
}
|
191
|
+
|
192
|
+
.vert .simply-scroll-list {}
|
193
|
+
|
194
|
+
.vert .simply-scroll-list li {
|
195
|
+
width: 290px;
|
196
|
+
height: 200px;
|
197
|
+
}
|
198
|
+
.vert .simply-scroll-list li img {}
|
199
|
+
|
200
|
+
.vert .simply-scroll-btn {}
|
201
|
+
|
202
|
+
.vert .simply-scroll-btn-up { /* modified btn pos */
|
203
|
+
right: 0;
|
204
|
+
top: 0;
|
205
|
+
}
|
206
|
+
.vert .simply-scroll-btn-up.disabled {}
|
207
|
+
.vert .simply-scroll-btn-up:hover {}
|
208
|
+
|
209
|
+
.vert .simply-scroll-btn-down { /* modified btn pos */
|
210
|
+
right: 0;
|
211
|
+
top: 52px;
|
212
|
+
}
|
213
|
+
.vert .simply-scroll-btn-down.disabled {}
|
214
|
+
.vert .simply-scroll-btn-down:hover {}
|
215
|
+
|
216
|
+
/* NOTE left-right classes wouldn't be needed on vertical scroller */
|
217
|
+
|
metadata
ADDED
@@ -0,0 +1,73 @@
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
2
|
+
name: simplyscroll-rails
|
3
|
+
version: !ruby/object:Gem::Version
|
4
|
+
version: 1.0.0
|
5
|
+
platform: ruby
|
6
|
+
authors:
|
7
|
+
- TwoWeb
|
8
|
+
autorequire:
|
9
|
+
bindir: bin
|
10
|
+
cert_chain: []
|
11
|
+
|
12
|
+
date: 2015-01-31 00:00:00 Z
|
13
|
+
dependencies:
|
14
|
+
- !ruby/object:Gem::Dependency
|
15
|
+
name: rails
|
16
|
+
prerelease: false
|
17
|
+
requirement: &id001 !ruby/object:Gem::Requirement
|
18
|
+
requirements:
|
19
|
+
- &id002
|
20
|
+
- ">="
|
21
|
+
- !ruby/object:Gem::Version
|
22
|
+
version: "0"
|
23
|
+
type: :runtime
|
24
|
+
version_requirements: *id001
|
25
|
+
description: gem simplyscroll for rails
|
26
|
+
email:
|
27
|
+
- dev@twoweb.com.br
|
28
|
+
executables: []
|
29
|
+
|
30
|
+
extensions: []
|
31
|
+
|
32
|
+
extra_rdoc_files: []
|
33
|
+
|
34
|
+
files:
|
35
|
+
- lib/simplyscroll-rails.rb
|
36
|
+
- lib/simplyscroll-rails/version.rb
|
37
|
+
- vendor/assets/images/buttons.png
|
38
|
+
- vendor/assets/images/bg_play_pause.png
|
39
|
+
- vendor/assets/images/bg_direction_nav.png
|
40
|
+
- vendor/assets/javascripts/jquery.simplyscroll.min.js
|
41
|
+
- vendor/assets/javascripts/jquery.simplyscroll.js
|
42
|
+
- vendor/assets/stylesheets/simplyscroll.css
|
43
|
+
- vendor/assets/fonts/flexslider-icon.woff
|
44
|
+
- vendor/assets/fonts/flexslider-icon.ttf
|
45
|
+
- vendor/assets/fonts/flexslider-icon.svg
|
46
|
+
- vendor/assets/fonts/flexslider-icon.eot
|
47
|
+
- LICENSE
|
48
|
+
- README.md
|
49
|
+
homepage: https://github.com/twoweb/simplyscroll-rails
|
50
|
+
licenses: []
|
51
|
+
|
52
|
+
metadata: {}
|
53
|
+
|
54
|
+
post_install_message:
|
55
|
+
rdoc_options: []
|
56
|
+
|
57
|
+
require_paths:
|
58
|
+
- lib
|
59
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
60
|
+
requirements:
|
61
|
+
- *id002
|
62
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
63
|
+
requirements:
|
64
|
+
- *id002
|
65
|
+
requirements: []
|
66
|
+
|
67
|
+
rubyforge_project:
|
68
|
+
rubygems_version: 2.0.14
|
69
|
+
signing_key:
|
70
|
+
specification_version: 4
|
71
|
+
summary: gem simplyscroll
|
72
|
+
test_files: []
|
73
|
+
|