1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd">
4
<style type="text/css">
6
.yui3-scrollview-loading {
15
border:1px solid #000;
23
font:13px/1.231 arial,helvetica,clean,sans-serif;
29
background-color:#6d83a1;
30
background: -webkit-gradient(
35
color-stop(0.01, #b0bccc),
36
color-stop(0.49, #889bb3),
37
color-stop(0.50, #8094ae),
50
.horiz-content ul, .vert-content ul {
51
font:13px/1.231 arial,helvetica,clean,sans-serif;
67
.horiz-content ul li {
80
border:1px solid #00ff00;
84
vertical-align:middle;
89
border:1px solid #000;
90
background-color:#ccc;
99
background-color:#a00;
104
<script src="../../../../build/yui/yui.js" type="text/javascript" charset="utf-8"></script>
105
<!--script src="http://yui.yahooapis.com/3.4.0/build/yui/yui.js" type="text/javascript" charset="utf-8"></script-->
107
<body class="yui3-skin-sam">
109
<div class="container vert-container">
110
<div class="hd">Vertical</div>
112
<!-- SV starts here -->
113
<div id="sv-vert-content" class="vert-content yui3-scrollview-loading">
114
<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>
118
<div class="container horiz-container">
119
<div class="hd">Horizonal</div>
121
<!-- SV starts here -->
122
<div id="sv-horiz-content" class="horiz-content yui3-scrollview-loading">
123
<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>
127
<div class="container vert-container">
128
<div class="hd">Vertical Paged</div>
130
<!-- SV starts here -->
131
<div id="sv-vert-paged-content" class="vert-content yui3-scrollview-loading">
132
<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>
136
<div class="container horiz-container">
137
<div class="hd">Horizonal Paged</div>
139
<!-- SV starts here -->
140
<div id="sv-horiz-paged-content" class="horiz-content yui3-scrollview-loading">
141
<ul><li>1</li><li>2</li><li>3</li><li>4</li></ul>
146
<div id="disabled">Disabled</div>
147
<div id="flickDisabled">Flick Disabled</div>
148
<div id="dragDisabled">Drag Disabled</div>
153
<button id="scrollTo">Scroll To</button>
156
<button id="add">Add Content</button>
157
<button id="remove">Remove Content</button>
158
<span>(scrollTo somewhere non-0,0 first, to test translate fix)</span>
161
<button id="disable">Disable</button>
162
<button id="enable">Enable</button>
165
<button id="disableFlick">Disable Flick</button>
166
<button id="enableFlick">Enable Flick</button>
169
<button id="disableDrag">Disable Drag</button>
170
<button id="enableDrag">Enable Drag</button>
174
<script type="text/javascript">
176
var svHoriz, svVert, svHorizPaged, svVertPaged;
178
YUI({filter:"raw"}).use("scrollview", "scrollview-paginator", function(Y) {
180
svHoriz = new Y.ScrollView({
182
srcNode:"#sv-horiz-content",
193
svVert = new Y.ScrollView({
195
srcNode:"#sv-vert-content",
206
svHorizPaged = new Y.ScrollView({
208
srcNode:"#sv-horiz-paged-content",
217
fn:Y.Plugin.ScrollViewPaginator,
225
svVertPaged = new Y.ScrollView({
227
srcNode:"#sv-vert-paged-content",
236
fn:Y.Plugin.ScrollViewPaginator,
244
svHoriz._origFlick = svHoriz.get("flick");
245
svVert._origFlick = svVert.get("flick");
246
svVertPaged._origFlick = svVertPaged.get("flick");
247
svHorizPaged._origFlick = svHorizPaged.get("flick");
249
var state = Y.one("#state");
253
_scrollPositions : [ 200, 75, 450, 600, 0 ],
255
_scrollToNonZero : function(sv) {
256
var scrollDim = (sv._scrollsHorizontal) ? "scrollX" : "scrollY",
257
position = sv.get(scrollDim);
259
position = (position === 250) ? 100 : 250;
261
sv.set(scrollDim, position, {duration:350});
265
var list = sv.get("contentBox").one("ul");
266
var children = list.get("children");
268
sv.once("scrollEnd", function() {
269
list.append("<li>" + (children.size() + 1) + "</li>");
273
this._scrollToNonZero(sv);
275
remove: function(sv) {
276
var list = sv.get("contentBox").one("ul");
277
var children = list.get("children");
280
if (children.size() > 3) {
282
sv.once("scrollEnd", function() {
283
children.pop().remove(true);
287
this._scrollToNonZero(sv);
290
disable: function(sv) {
292
state.one("#disabled").addClass("true");
294
enable: function(sv) {
296
state.one("#disabled").removeClass("true");
298
disableFlick: function(sv) {
299
sv.set("flick", false);
300
state.one("#flickDisabled").addClass("true");
302
enableFlick: function(sv) {
303
sv.set("flick", sv._origFlick);
304
state.one("#flickDisabled").removeClass("true");
306
disableDrag: function(sv) {
307
sv.set("drag", false);
308
state.one("#dragDisabled").addClass("true");
310
enableDrag: function(sv) {
311
sv.set("drag", true);
312
state.one("#dragDisabled").removeClass("true");
314
scrollTo: function(sv) {
316
var positions = this._scrollPositions.length,
317
i = sv._scrollPositionIndex || 0,
318
position = this._scrollPositions[(i % positions)];
319
sv._scrollPositionIndex = i+1;
321
if (sv._scrollsHorizontal) {
322
sv.set("scrollX", position, {duration:350});
324
sv.set("scrollY", position, {duration:350});
329
var pagedClickMap = Y.mix(Y.Object(clickMap), {
331
_scrollToNonZero: function(sv) {
332
var index = (sv.pages.get("index") == 2) ? 1 : 2;
333
sv.pages.set("index", index);
336
scrollTo: function(sv) {
337
var pages = sv.pages.get("total"),
338
current = sv.pages.get("index"),
339
position = (current + 1) % pages;
341
sv.pages.set("index", position);
345
Y.one("#toolbar").delegate("click", function(e) {
346
var method = e.currentTarget.get("id");
348
clickMap[method](svVert);
349
clickMap[method](svHoriz);
351
pagedClickMap[method](svVertPaged);
352
pagedClickMap[method](svHorizPaged);
b'\\ No newline at end of file'