src/cm/media/js/lib/yui/yui_3.10.3/docs/slider/slider-from-markup.html
author Yves-Marie Haussonne <ymh.work+github@gmail.com>
Fri, 09 May 2014 18:35:26 +0200
changeset 656 a84519031134
parent 525 89ef5ed3c48b
permissions -rw-r--r--
add link to "privacy policy" in the header test
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
525
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     1
<!DOCTYPE html>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     2
<html lang="en">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     3
<head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     4
    <meta charset="utf-8">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     5
    <title>Example: Creating a Slider from Existing Markup</title>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     6
    <link rel="stylesheet" href="http://fonts.googleapis.com/css?family=PT+Sans:400,700,400italic,700italic">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     7
    <link rel="stylesheet" href="../../build/cssgrids/cssgrids-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     8
    <link rel="stylesheet" href="../assets/css/main.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
     9
    <link rel="stylesheet" href="../assets/vendor/prettify/prettify-min.css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    10
    <link rel="shortcut icon" type="image/png" href="../assets/favicon.png">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    11
    <script src="../../build/yui/yui-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    12
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    13
</head>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    14
<body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    15
<!--
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    16
<a href="https://github.com/yui/yui3"><img style="position: absolute; top: 0; right: 0; border: 0;" src="https://s3.amazonaws.com/github/ribbons/forkme_right_darkblue_121621.png" alt="Fork me on GitHub"></a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    17
-->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    18
<div id="doc">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    19
    <div id="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    20
        <h1><img src="http://yuilibrary.com/img/yui-logo.png"></h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    21
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    22
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    23
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    24
            <h1>Example: Creating a Slider from Existing Markup</h1>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    25
    <div class="yui3-g">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    26
        <div class="yui3-u-3-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    27
            <div id="main">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    28
                <div class="content"><style scoped>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
    #demo {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
        border: 1px solid #999;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
        color: #000;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
    #demo .demo-content {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
        padding: 1ex 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    #volume_control {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
        height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
        line-height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
        background: url(../assets/slider/images/sprite.png) repeat-x 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    #volume_control label {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
        font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
        margin: 0 1ex 0 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
        zoom: 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    #volume {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
        border: 1px inset #999;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
        height: 16px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
        margin-top: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
        padding: 0 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
        text-align: right;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
        width: 2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    /* Support open/close action for the slider */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    #demo .volume-hide #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
        display: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    #volume_icon {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
        background: url(../assets/slider/images/sprite.png) no-repeat 0 -25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
        border: 0 none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
        height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
        vertical-align: top;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    /* move the button text offscreen left */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    #volume_icon p {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
        text-indent: -9999px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    78
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    79
    /*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    80
     * adjust the speaker icon sprite in accordance with volume level and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
     * active state
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
    */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    #demo .volume-hide .level_0 { background-position: 0 -25px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    #demo .volume-hide .level_1 { background-position: 0 -50px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    #demo .volume-hide .level_2 { background-position: 0 -75px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    #demo .volume-hide .level_3 { background-position: 0 -100px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
    #demo .level_0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
    #demo .level_0:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
        background-position: 0 -125px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
    #demo .level_1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    #demo .level_1:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
        background-position: 0 -150px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
    #demo .level_2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
    #demo .level_2:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
        background-position: 0 -175px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    #demo .level_3,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    #demo .level_3:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
        background-position: 0 -200px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
        top: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
    /* rail image on the containing box rather than the rail element */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
    #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
        background: url(../assets/slider/images/sprite.png) no-repeat 0 -259px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
        height: 116px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
        padding-top: 9px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
        cursor: arrow;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    #volume_slider .yui3-slider-rail {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
        background-image: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
    #volume_slider .yui3-slider-thumb {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
        height: 17px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
        overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
    #volume_slider .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
        top: -225px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   133
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   134
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   135
    #volume_slider .yui3-slider-disabled .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
        top: -242px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   137
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   138
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   139
    #demo_sprite {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
        display: inline;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
        float: left;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
        margin-right: 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
    <p>This example illustrates a few points:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
    <ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
        <li>How to create a Slider using existing markup</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
        <li>How to disable a Slider</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
        <li>How to use an image sprite to create a custom Slider skin</li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
    </ol>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
    <p>The visualization of the Slider is based on the volume control in Mac OS X 10.5, with additional controls included for illustration.  <strong>Click on the speaker icon to show the Slider</strong>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
<div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
    <div id="demo" class="yui3-skin-sam"> <!-- You need this skin class -->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
    <div id="volume_control" class="volume-hide">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
        <label for="volume">volume</label><input type="text" size="3" maxlength="3" name="volume" id="volume" value="50">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
        <button type="button" id="volume_icon" class="level_2" title="Open volume slider"><p>Open</p></button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
        <span id="volume_slider">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
            <span class="yui3-slider-rail">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
                <span class="yui3-slider-thumb"><img src="../assets/slider/images/sprite.png" height="384" width="31"></span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
            </span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
        </span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
        <label for="mute"><input type="checkbox" id="mute"> mute</label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
    <div class="demo-content">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
        <p>Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit. Aliquam erat volutpat. Nullam ultrices, diam tempus vulputate egestas, eros pede varius leo, sed imperdiet lectus est ornare odio.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
        <p>Phasellus wisi purus, interdum vitae, rutrum accumsan, viverra in, velit. Sed enim risus, congue non, tristique in, commodo eu, metus. Aenean tortor mi, imperdiet id, gravida eu, posuere eu, felis.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
YUI().use("slider", function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
var control    = Y.one('#volume_control'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
    volInput   = Y.one('#volume'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
    icon       = Y.one('#volume_icon'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
    mute       = Y.one('#mute'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    open       = false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    level      = 2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    beforeMute = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    wait,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    volume;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
Y.one("#volume_slider").setStyle('left',icon.get('offsetLeft')+'px');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
volume = new Y.Slider({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
    axis  : 'y',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
    min   : 100,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
    max   : 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
    value : 50,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
    length: '105px'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
volume.renderRail = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
    return Y.one( "#volume_slider span.yui3-slider-rail" );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
volume.renderThumb = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
    return this.rail.one( "span.yui3-slider-thumb" );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
volume.render( "#volume_slider" );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
// Initialize event listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
volume.after('valueChange', updateInput);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
volume.after('valueChange', updateIcon);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
mute.on('click', muteVolume);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
volInput.on({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    keydown : handleInput,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    keyup   : updateVolume
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
icon.on('click', showHideSlider);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
Y.one( 'doc' ).on('click', handleDocumentClick );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
// Support functions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
function updateInput(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
    if (e.src !== 'KEY') {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
        volInput.set('value',e.newVal);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
function updateIcon(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
    var newLevel = e.newVal && Math.ceil(e.newVal / 34);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
    if (level !== newLevel) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        icon.replaceClass('level_'+level, 'level_'+newLevel);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
        level = newLevel;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
function muteVolume(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
    var disabled = !volume.get('disabled');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
    volume.set('disabled', disabled);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
    if (disabled) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
        beforeMute = volume.getValue();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
        volume.setValue(0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
        volInput.set('disabled','disabled');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
    } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
        volume.setValue(beforeMute);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
        volInput.set('disabled','');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
function handleInput(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
    // Allow only numbers and various other control keys
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
    if (e.keyCode > 57) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
        e.halt();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
function updateVolume(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
    // delay input processing to give the user time to type
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
    if (wait) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
        wait.cancel();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
    wait = Y.later(400, null, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
        var value = parseInt(volInput.get('value'),10) || 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        if (value > 100) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
            volInput.set('value', 100);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
            value = 100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
        volume.setValue( value );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
function showHideSlider(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    control.toggleClass('volume-hide');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
    open = !open;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    if (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
        e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
function handleDocumentClick(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
    if (open && !icon.contains(e.target) &&
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
            !volume.get('boundingBox').contains(e.target)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
        showHideSlider();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
<h3 id="prog_enh">Progressive Enhancement</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
<p>The <a href="http://en.wikipedia.org/wiki/Progressive_enhancement">Progressive Enhancement</a> strategy recommends that your page not contain markup that will only be useful in cases where JavaScript is available.  For this reason, Slider does not include an <code>HTML_PARSER</code> to reuse existing markup.  However, it is possible to override a couple methods to accomplish the task.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
<p>The starting markup for the volume control area is as follows:</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
<pre class="code prettyprint">&lt;div id=&quot;volume_control&quot; class=&quot;volume-hide&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
    &lt;label for=&quot;volume&quot;&gt;volume&lt;&#x2F;label&gt;&lt;input type=&quot;text&quot; size=&quot;3&quot; maxlength=&quot;3&quot; name=&quot;volume&quot; id=&quot;volume&quot; value=&quot;50&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
    &lt;button type=&quot;button&quot; id=&quot;volume_icon&quot; class=&quot;level_2&quot; title=&quot;Open volume slider&quot;&gt;&lt;p&gt;Open&lt;&#x2F;p&gt;&lt;&#x2F;button&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
    &lt;span id=&quot;volume_slider&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        &lt;span class=&quot;yui3-slider-rail&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
            &lt;span class=&quot;yui3-slider-thumb&quot;&gt;&lt;img src=&quot;..&#x2F;assets&#x2F;slider&#x2F;images&#x2F;sprite.png&quot; height=&quot;384&quot; width=&quot;31&quot;&gt;&lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
        &lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
    &lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
    &lt;label for=&quot;mute&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;mute&quot;&gt; mute&lt;&#x2F;label&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
<p>To tell the Slider to use the existing rail and thumb elements, override the <code>renderRail</code> and <code>renderThumb</code> methods.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
<pre class="code prettyprint">var volume = new Y.Slider({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
    axis  : &#x27;y&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
    min   : 100, &#x2F;&#x2F; reverse min and max to make the top
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
    max   : 0,   &#x2F;&#x2F; equal 100 and the bottom 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
    value : 50,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
    length: &#x27;105px&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
&#x2F;&#x2F; Override renderRail to just return the existing rail node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
volume.renderRail = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
    return Y.one( &quot;#volume_slider span.yui3-slider-rail&quot; );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
&#x2F;&#x2F; Override renderThumb to just return the existing thumb node
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
volume.renderThumb = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    return this.rail.one( &quot;span.yui3-slider-thumb&quot; );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
volume.render( &quot;#volume_slider&quot; );</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
<h3 id="syncui">Hide and show the Slider</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
<p>By default, we want the Slider to be hidden until the user clicks on the speaker icon.  However, we want to support muting or changing the value of the Slider while it is hidden.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
<pre class="code prettyprint">var control = Y.one(&#x27;#volume_control&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
    icon    = Y.one(&#x27;#volume_icon&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
    open    = false;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
function showHideSlider(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
    control.toggleClass(&#x27;volume-hide&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
    open = !open;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
    if (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
        e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
icon.on(&#x27;click&#x27;, showHideSlider);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
&#x2F;&#x2F; Also support hiding the Slider when the user clicks outside the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
&#x2F;&#x2F; Slider element.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
function handleDocumentClick(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
    if (open &amp;&amp; !icon.contains(e.target) &amp;&amp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
            !volume.get(&#x27;boundingBox&#x27;).contains(e.target)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
        showHideSlider();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
Y.one( &#x27;doc&#x27; ).on(&#x27;click&#x27;, handleDocumentClick );</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
<h3 id="demo_mute">Mute and unmute</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
<p>We want to disable the Slider and input and set the value to 0 if a user checks the mute checkbox.  The value should be returned to the last assigned value when unmuted.  To disable the Slider, set its <code>disabled</code> attribute to <code>true</code>.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
<pre class="code prettyprint">var volInput   = Y.one(&#x27;#volume&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
    mute       = Y.one(&#x27;#mute&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
    beforeMute = 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
function muteVolume(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
    &#x2F;&#x2F; Set disabled to false if currently true; true if currently false
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
    var disabled = !volume.get(&#x27;disabled&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
    volume.set(&#x27;disabled&#x27;, disabled);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
    if (disabled) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
        beforeMute = volume.getValue();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        volume.setValue(0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
        volInput.set(&#x27;disabled&#x27;,&#x27;disabled&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
    } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
        volume.setValue(beforeMute);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
        volInput.set(&#x27;disabled&#x27;,&#x27;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
mute.on(&#x27;click&#x27;, muteVolume);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
<h3>Skinning and CSS</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
<img id="demo_sprite" src="../assets/slider/images/sprite.png" height="384" width="31" alt="Sprite of all custom image resources for this example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
<p>We'll be using the image sprite to the left to create a custom skin.  In this design, to keep things simple, the Slider's container and end caps are all rendered together at the bottom of the sprite.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
<p>Slider's thumb range is constrained by the rail element, so it wouldn't be appropriate to use this image as the rail's background&#8212;the thumb would slide off the ends.  Instead, the rail image is assigned as the background to the Slider's containing element <code>#volume_slider</code>.  Then the default skin background image is removed on the rail.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
<pre class="code prettyprint">&#x2F;* rail image on the containing box rather than the rail element *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
#volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
    background: url(&quot;assets&#x2F;images&#x2F;sprite.png&quot;) no-repeat 0 -259px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
    height: 116px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
    width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
    padding-top: 9px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
#volume_slider .yui3-slider-rail {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
    background-image: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
#volume_slider .yui3-slider-thumb {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
    height: 17px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
    width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
    overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   419
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   420
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   421
#volume_slider .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
    top: -225px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
#volume_slider .yui3-slider-disabled .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
    top: -242px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
<p>You can see the full CSS and JavaScript for the other controls in the <a href="#full_code_listing">Full Code Listing</a> below.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
<h3 id="full_code_listing">Full Code Listing</h3>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
<p>Here is the full markup, CSS, and JavaScript for the entire example, including the volume input and mute controls, and CSS for placing the Slider and setting up the volume icon sprite positioning.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
<h4>Markup</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
<strong>Note:</strong> be sure to add the <code>yui3-skin-sam</code> classname to the
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
page's <code>&lt;body&gt;</code> element or to a parent element of the widget in order to apply
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
the default CSS skin. See <a href="http://yuilibrary.com/yui/docs/tutorials/skins/">Understanding Skinning</a>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
<pre class="code prettyprint">&lt;div id=&quot;demo&quot; class=&quot;yui3-skin-sam&quot;&gt; &lt;!-- You need this skin class --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
    &lt;div id=&quot;volume_control&quot; class=&quot;volume-hide&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
        &lt;label for=&quot;volume&quot;&gt;volume&lt;&#x2F;label&gt;&lt;input type=&quot;text&quot; size=&quot;3&quot; maxlength=&quot;3&quot; name=&quot;volume&quot; id=&quot;volume&quot; value=&quot;50&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
        &lt;button type=&quot;button&quot; id=&quot;volume_icon&quot; class=&quot;level_2&quot; title=&quot;Open volume slider&quot;&gt;&lt;p&gt;Open&lt;&#x2F;p&gt;&lt;&#x2F;button&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
        &lt;span id=&quot;volume_slider&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
            &lt;span class=&quot;yui3-slider-rail&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
                &lt;span class=&quot;yui3-slider-thumb&quot;&gt;&lt;img src=&quot;..&#x2F;assets&#x2F;slider&#x2F;images&#x2F;sprite.png&quot; height=&quot;384&quot; width=&quot;31&quot;&gt;&lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
            &lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
        &lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
        &lt;label for=&quot;mute&quot;&gt;&lt;input type=&quot;checkbox&quot; id=&quot;mute&quot;&gt; mute&lt;&#x2F;label&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
    &lt;div class=&quot;demo-content&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
        &lt;p&gt;Nulla facilisi. In vel sem. Morbi id urna in diam dignissim feugiat. Proin molestie tortor eu velit. Aliquam erat volutpat. Nullam ultrices, diam tempus vulputate egestas, eros pede varius leo, sed imperdiet lectus est ornare odio.&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
        &lt;p&gt;Phasellus wisi purus, interdum vitae, rutrum accumsan, viverra in, velit. Sed enim risus, congue non, tristique in, commodo eu, metus. Aenean tortor mi, imperdiet id, gravida eu, posuere eu, felis.&lt;&#x2F;p&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
&lt;&#x2F;div&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
<h4 id="full_js">JavaScript</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
<pre class="code prettyprint">YUI().use(&quot;slider&quot;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
var control    = Y.one(&#x27;#volume_control&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
    volInput   = Y.one(&#x27;#volume&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
    icon       = Y.one(&#x27;#volume_icon&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
    mute       = Y.one(&#x27;#mute&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
    open       = false,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
    level      = 2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
    beforeMute = 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
    wait,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
    volume;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
Y.one(&quot;#volume_slider&quot;).setStyle(&#x27;left&#x27;,icon.get(&#x27;offsetLeft&#x27;)+&#x27;px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
volume = new Y.Slider({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
    axis  : &#x27;y&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
    min   : 100,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
    max   : 0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
    value : 50,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
    length: &#x27;105px&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
volume.renderRail = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
    return Y.one( &quot;#volume_slider span.yui3-slider-rail&quot; );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
volume.renderThumb = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
    return this.rail.one( &quot;span.yui3-slider-thumb&quot; );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
volume.render( &quot;#volume_slider&quot; );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
&#x2F;&#x2F; Initialize event listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
volume.after(&#x27;valueChange&#x27;, updateInput);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
volume.after(&#x27;valueChange&#x27;, updateIcon);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
mute.on(&#x27;click&#x27;, muteVolume);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
volInput.on({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
    keydown : handleInput,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
    keyup   : updateVolume
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
icon.on(&#x27;click&#x27;, showHideSlider);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
Y.one( &#x27;doc&#x27; ).on(&#x27;click&#x27;, handleDocumentClick );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
&#x2F;&#x2F; Support functions
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
function updateInput(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
    if (e.src !== &#x27;KEY&#x27;) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
        volInput.set(&#x27;value&#x27;,e.newVal);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   516
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   517
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   518
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
function updateIcon(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
    var newLevel = e.newVal &amp;&amp; Math.ceil(e.newVal &#x2F; 34);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
    if (level !== newLevel) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
        icon.replaceClass(&#x27;level_&#x27;+level, &#x27;level_&#x27;+newLevel);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
        level = newLevel;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
function muteVolume(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
    var disabled = !volume.get(&#x27;disabled&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
    volume.set(&#x27;disabled&#x27;, disabled);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
    if (disabled) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
        beforeMute = volume.getValue();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
        volume.setValue(0);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
        volInput.set(&#x27;disabled&#x27;,&#x27;disabled&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
    } else {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
        volume.setValue(beforeMute);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
        volInput.set(&#x27;disabled&#x27;,&#x27;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
function handleInput(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
    &#x2F;&#x2F; Allow only numbers and various other control keys
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
    if (e.keyCode &gt; 57) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
        e.halt();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   547
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   548
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   549
function updateVolume(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
    &#x2F;&#x2F; delay input processing to give the user time to type
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
    if (wait) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
        wait.cancel();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   553
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   554
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   555
    wait = Y.later(400, null, function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
        var value = parseInt(volInput.get(&#x27;value&#x27;),10) || 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
        if (value &gt; 100) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
            volInput.set(&#x27;value&#x27;, 100);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
            value = 100
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
        volume.setValue( value );
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
    });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
function showHideSlider(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
    control.toggleClass(&#x27;volume-hide&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
    open = !open;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
    if (e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
        e.preventDefault();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   574
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   575
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   576
function handleDocumentClick(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
    if (open &amp;&amp; !icon.contains(e.target) &amp;&amp;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
            !volume.get(&#x27;boundingBox&#x27;).contains(e.target)) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
        showHideSlider();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
<h4 id="full_css">CSS</h4>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
<pre class="code prettyprint">&lt;style scoped&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
    #demo {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
        background: #fff;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
        border: 1px solid #999;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
        color: #000;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   592
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   593
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   594
    #demo .demo-content {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
        padding: 1ex 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   596
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   597
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   598
    #volume_control {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
        height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
        line-height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
        background: url(..&#x2F;assets&#x2F;slider&#x2F;images&#x2F;sprite.png) repeat-x 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
        position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
    #volume_control label {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
        font-weight: bold;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
        margin: 0 1ex 0 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
        zoom: 1;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
    #volume {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
        border: 1px inset #999;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
        height: 16px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
        margin-top: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
        padding: 0 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
        text-align: right;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
        width: 2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
    &#x2F;* Support open&#x2F;close action for the slider *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
    #demo .volume-hide #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
        display: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
    #volume_icon {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
        background: url(..&#x2F;assets&#x2F;slider&#x2F;images&#x2F;sprite.png) no-repeat 0 -25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
        border: 0 none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
        height: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
        vertical-align: top;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
    &#x2F;* move the button text offscreen left *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
    #volume_icon p {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
        text-indent: -9999px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
    &#x2F;*
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
     * adjust the speaker icon sprite in accordance with volume level and
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
     * active state
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
    *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
    #demo .volume-hide .level_0 { background-position: 0 -25px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
    #demo .volume-hide .level_1 { background-position: 0 -50px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
    #demo .volume-hide .level_2 { background-position: 0 -75px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
    #demo .volume-hide .level_3 { background-position: 0 -100px; }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
    #demo .level_0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
    #demo .level_0:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
        background-position: 0 -125px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
    #demo .level_1,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
    #demo .level_1:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
        background-position: 0 -150px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
    #demo .level_2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
    #demo .level_2:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
        background-position: 0 -175px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
    #demo .level_3,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
    #demo .level_3:hover {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
        background-position: 0 -200px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
    #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
        top: 25px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
    &#x2F;* rail image on the containing box rather than the rail element *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
    #volume_slider {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
        background: url(..&#x2F;assets&#x2F;slider&#x2F;images&#x2F;sprite.png) no-repeat 0 -259px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
        height: 116px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
        padding-top: 9px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
        cursor: arrow;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
    #volume_slider .yui3-slider-rail {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
        background-image: none;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
    #volume_slider .yui3-slider-thumb {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
        height: 17px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
        width: 31px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
        overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
    #volume_slider .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
        position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
        top: -225px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
    #volume_slider .yui3-slider-disabled .yui3-slider-thumb img {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
        top: -242px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   696
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   697
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   698
    #demo_sprite {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
        display: inline;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
        float: left;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
        margin-right: 1em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
&lt;&#x2F;style&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
                                        <li data-description="The basics of setting up a horizontal and vertical Slider">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
                                            <a href="slider-basic.html">Basic Sliders</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
                                        <li data-description="Creating a vertical Slider from existing markup">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
                                            <a href="slider-from-markup.html">Creating a Slider from Existing Markup</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
                                        <li data-description="Specifying an alternate skin for a Slider instance">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
                                            <a href="slider-skin.html">Alternate Skins</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   740
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   741
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   742
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   755
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   756
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   757
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   769
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   770
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   771
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   772
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
                                        <li data-description="Use three sliders to control RGB values and update Hex and HSL strings.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
                                            <a href="../color/rgb-slider.html">RGB Slider</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   776
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   777
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   778
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
                                        <li data-description="Use the HSL color picker to select a new color. Then chose the color type you like best.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
                                            <a href="../color/hsl-picker.html">HSL Color Picker</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   782
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   783
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   784
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
                                        <li data-description="Use the HSL color picker to create harmony colors.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
                                            <a href="../color/hsl-harmony.html">HSL Harmony</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   788
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   789
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   790
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
                                        <li data-description="Shows how to use Overlay&#x27;s constrainment support, to limit the XY value which can be set for an Overlay.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
                                            <a href="../overlay/overlay-constrain.html">Constrain Support</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   794
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   795
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   796
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
                                        <li data-description="Use StyleSheet to adjust the CSS rules applying a page theme from user input">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
                                            <a href="../stylesheet/stylesheet-theme.html">Adjusting a Page Theme on the Fly</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   800
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   801
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   802
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
                                        <li data-description="Example Photo Browser application.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
                                            <a href="../dd/photo-browser.html">Photo Browser</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   806
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   807
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   808
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   816
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   817
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   818
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   819
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   820
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   821
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   822
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   823
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   824
    assets: '../assets/slider',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   825
    name: 'slider-from-markup',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   826
    title: 'Creating a Slider from Existing Markup',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   827
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   828
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   829
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   830
YUI.Env.Tests.examples.push('slider-basic');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   831
YUI.Env.Tests.examples.push('slider-from-markup');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   832
YUI.Env.Tests.examples.push('slider-skin');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   833
YUI.Env.Tests.examples.push('rgb-slider');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   834
YUI.Env.Tests.examples.push('hsl-picker');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   835
YUI.Env.Tests.examples.push('hsl-harmony');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   836
YUI.Env.Tests.examples.push('overlay-constrain');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   837
YUI.Env.Tests.examples.push('stylesheet-theme');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   838
YUI.Env.Tests.examples.push('photo-browser');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   839
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   840
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   841
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   842
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   843
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   844
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   845
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   846
</html>