Mega Code Archive

 
Categories / JavaScript DHTML / GUI Components
 

Yahoo! UI Library - Slider Widget

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/strict.dtd"> <html> <head> <title>Yahoo! UI Library - Slider Widget</title> <link rel="stylesheet" type="text/css" href="./examples/slider/css/screen.css"> <!-- Nav and logger start --> <script type="text/javascript" src="./build/yahoo/yahoo.js" ></script> <script type="text/javascript" src="./build/event/event.js" ></script> <script type="text/javascript" src="./build/logger/logger.js" ></script> <script type="text/javascript" src="./build/dom/dom.js" ></script> <script type="text/javascript" src="./build/animation/animation.js" ></script> <script type="text/javascript" src="./build/dragdrop/dragdrop.js" ></script> <script type="text/javascript" src="./examples/slider/js/color.js" ></script> <script type="text/javascript" src="./examples/slider/js/key.js" ></script> <script type="text/javascript" src="./build/slider/slider-debug.js" ></script></head> <body>  <div id="pageTitle"><h3>Slider Widget</h3></div>  <div id="container">   <div id="containerTop">     <div id="header"><img id="ylogo" src="./examples/slider/img/logo.gif" /></div>   <div id="main">     <!-- Nav and logger start --> <style type="text/css">     #logButtonHeader input { font-size: 80% } /* logger default styles */ /* font size is controlled here: default 77% */ #yui-log {position:absolute;top:1em;right:1em;font-size:77%;text-align:left;} /* width is controlled here: default 31em */ .yui-log {background-color:#AAA;border:1px solid black;font-family:monospace;z-index:9000;} .yui-log p {margin:1px;padding:.1em;} .yui-log button {font-family:monospace;} .yui-log .yui-log-hd {padding:.5em;background-color:#575757;color:#FFF;} /* height is controlled here: default 20em*/ .yui-log .yui-log-bd {width:100%;height:20em;background-color:#FFF;border:1px solid gray;overflow:auto;} .yui-log .yui-log-ft {margin-top:.5em;margin-bottom:1em;} .yui-log .yui-log-ft .yui-log-categoryfilters {} .yui-log .yui-log-ft .yui-log-sourcefilters {width:100%;border-top:1px solid #575757;margin-top:.75em;padding-top:.75em;} .yui-log .yui-log-btns {position:relative;float:right;bottom:.25em;} .yui-log .yui-log-filtergrp {margin-right:.5em;} .yui-log .info {background-color:#A7CC25;} /* A7CC25 green */ .yui-log .warn {background-color:#F58516;} /* F58516 orange */ .yui-log .error {background-color:#E32F0B;} /* E32F0B red */ .yui-log .time {background-color:#A6C9D7;} /* A6C9D7 blue */ .yui-log .window {background-color:#F2E886;} /* F2E886 tan */ </style> <div id="rightbar">   <div id="rightBarPad">     <h3>Links</h3>     <script type="text/javascript">     YAHOO.example.logApp = function() {         return {             init: function() {                 if (YAHOO.widget.Logger) {                     var reader = new YAHOO.widget.LogReader( "logDiv",                              { newestOnTop: true, height: "400px" } );                     reader._onClickPauseBtn(null, reader);                 }             }         };     } ();      YAHOO.util.Event.on(window, "load", YAHOO.example.logApp.init);     </script>     <div id="logDiv"></div>   </div> </div> <!-- Nav and logger end -->       <div id="content">        <div class="newsItem">        <h3>Slider</h3>         <p>               This example uses a scale factor to convert pixels into               a "real" value.         </p>               <p> <strong>The logger is paused for performance reasons.  Click "Resume" to re-enable it.</strong> </p>               <div id="vertWrapper">                 <div                  tabindex="0"                   id="vertBGDiv"                  name="vertBGDiv"                  title="Vertical Slider">                    <div id="vertHandleDiv"><img alt="" src="./examples/slider/img/vertSlider.png" /></div>                  </div>                 <div id="vertValueDiv">                   <form name="formV" id="formV">                       <input name="vertVal" id="vertVal" type="text" value="0" size="4" maxlength="4" />                       <input id="vertButton" type="button" value="Update" />                   </form>                 </div>               </div>               <div>               <input id="re2" type="button" value="removeTicks" />               </div>     </div>      </div>   </div> </div> <script type="text/javascript"> // YAHOO.widget.SliderThumb.prototype.toString = function () {      // return "ASDF"; // } YAHOO.example.SliderApp = function() {   var verticalSlider;     // The slider can move 0 pixels up     var topConstraint = 0;     // The slider can move 200 pixels down     var bottomConstraint = 200;     // Custom scale factor for converting the pixel offset into a real value     var scaleFactor = 1.5;     return {         init: function() {             YAHOO.util.Event.addListener("formV", "submit", this.updateVert);             YAHOO.util.Event.addListener("vertButton", "click", this.updateVert);             verticalSlider = YAHOO.widget.Slider.getVertSlider("vertBGDiv",                               "vertHandleDiv", topConstraint, bottomConstraint, 20);             verticalSlider.onChange = function(offsetFromStart) {                 // use the scale factor to convert the pixel offset into a                 // real value                 var actualValue = parseInt(offsetFromStart * scaleFactor, 10);                 document.getElementById("vertVal").value = actualValue;                 document.getElementById("vertBGDiv").title =                              "Vertical Slider, value = " + actualValue;             };             verticalSlider.onSlideStart = function() {                 YAHOO.log("slidestart");             };             verticalSlider.onSlideEnd = function() {                 YAHOO.log("slideend");             };             // verticalSlider.unreg();             // verticalSlider.backgroundEnabled = false;             verticalSlider.setValue(20);         },         updateVert: function() {             var v = parseFloat(document.forms['formV']['vertVal'].value, 10);             if ( isNaN(v) ) v = 0;             // convert the real value into a pixel offset             verticalSlider.setValue(Math.round(v/scaleFactor));             return false;         },         clearConstraints: function() {             verticalSlider.getThumb().clearConstraints();         },         clearTicks: function() {             verticalSlider.getThumb().clearTicks();         }     }; } (); //YAHOO.example.SliderApp.init(); YAHOO.util.Event.addListener(window, "load", YAHOO.example.SliderApp.init,                               YAHOO.example.SliderApp, true); YAHOO.util.Event.addListener("re2", "click", YAHOO.example.SliderApp.clearTicks); </script> </body> </html>                     yui.zip( 3,714 k)