- <!DOCTYPE html>
- <html><head>
- <title>ScrollView With Pagination</title>
- <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
- <style>
- /* Avoid resource latency for these, since they hide unenhanced content */
- .yui3-js-enabled .yui3-scrollview-loading {
- visibility:hidden;
- }
- #additional-content {
- display:none;
- }
- </style>
- <link rel="stylesheet" href="http://yui.yahooapis.com/3.3.0/build/cssreset/reset-min.css" type="text/css" charset="utf-8">
- <link rel="stylesheet" href="http://developer.yahoo.com/yui/3/examples/scrollview/assets/horizontal.css " type="text/css" charset="utf-8">
- <link media="handheld, only screen and (max-device-width: 480px)" href="http://developer.yahoo.com/yui/3/examples/scrollview/assets/horizontal-smallscreen.css" type="text/css" rel="stylesheet" charset="utf-8">
- <script src="http://yui.yahooapis.com/3.3.0/build/yui/yui-min.js" type="text/javascript" charset="utf-8"></script>
- </head>
- <body class="yui3-skin-sam">
- <div id="scrollview-container">
- <div id="scrollview-header">
- <h1>Paged ScrollView</h1>
- </div>
- <div id="scrollview-content" class="yui3-scrollview-loading">
- <ul>
- <li id="item1"><img src="http://farm5.static.flickr.com/4136/4802088086_c621e0b501.jpg" alt="Above The City II"></li>
- <li id="item2"><img src="http://farm5.static.flickr.com/4114/4801461321_1373a0ef89.jpg" alt="Walls and Canyon"></li>
- <li id="item3"><img src="http://farm5.static.flickr.com/4100/4801614015_4303e8eaea.jpg" alt="Stairs Using In Situ Stone"></li>
- <li id="item4"><img src="http://farm5.static.flickr.com/4076/4801368583_854e8c0ef3.jpg" alt="Tree Silhouette"></li>
- </ul>
- </div>
- <div id="scrollview-pager">
- <button id="scrollview-prev">Prev</button>
- <button id="scrollview-next">Next</button>
- </div>
- </div>
- <script type="text/javascript" charset="utf-8">
- YUI().use('scrollview', 'scrollview-paginator', function(Y) {
- var scrollView = new Y.ScrollView({
- id: "scrollview",
- srcNode : '#scrollview-content',
- width : 320,
- flick: {
- minDistance:10,
- minVelocity:0.3,
- axis: "x"
- }
- });
- scrollView.plug(Y.Plugin.ScrollViewPaginator, {
- selector: 'li'
- });
- scrollView.render();
- var content = scrollView.get("contentBox");
- content.on("click", function(e) {
- // For mouse based devices, we need to make sure the click isn't fired
- // at the end of a drag/flick. We're use 2 as an arbitrary threshold.
- var tagName = e.target.get("tagName");
- if (tagName && tagName.toLowerCase() === "img") {
- if (Math.abs(scrollView.lastScrolledAmt) < 2) {
- //alert(e.target.getAttribute("alt"));
- }
- }
- });
- // Prevent default image drag behavior - not needed for Chrome. Mainly for Gecko,
- // but not targeted to keep the example generic (it didn't hurt the other browsers)
- /*content.on("mousedown", function(e) {
- e.preventDefault();
- }, "img");*/
- //run after user advances screen and pagination completes
- var onEnd = function(e) {
- document.getElementById('item1').innerHTML = '<img src="http://farm5.static.flickr.com/4114/4801461321_1373a0ef89.jpg" alt="Walls and Canyon">';
- };
- //listen for pagination completion
- scrollView.on("scrollEnd", onEnd);
- Y.one('#scrollview-next').on('click', Y.bind(scrollView.pages.next, scrollView.pages));
- Y.one('#scrollview-prev').on('click', Y.bind(scrollView.pages.prev, scrollView.pages));
- });
- </script>
- </body>
- </html>