src/cm/media/js/lib/yui/yui_3.10.3/docs/node/ducks.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: Using NodeList - Ducks Game</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: Using NodeList - Ducks Game</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"><link href="../assets/node/node.css" rel="stylesheet" type="text/css">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    29
<div class="intro">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    30
    <p>This example demonstrates how to use multiple NodeList features to build a simple game.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    31
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    32
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    33
<div class="example">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    34
<style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    35
.gallery{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    36
    position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    37
    background: url(../assets/node/images/background.png);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    38
    width: 638px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    39
    height: 180px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    40
    overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    41
    -moz-border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    42
    -webkit-border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    43
    border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    44
    -moz-box-shadow: 0 0 45px #000 inset, 3px 0 6px rgba(0,0,0,0.8);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    45
    -webkit-box-shadow: 0 0 45px #000 inset, 3px 0 6px rgba(0,0,0,0.8);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    46
    border: 4px solid #637073;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    47
    cursor: crosshair;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    48
    margin: 0.5em 0 0.8em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    49
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    50
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    51
.water{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    52
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    53
    top: 114px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    54
    left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    55
    width: 677px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    56
    height: 50px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    57
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    58
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    59
.water img{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    60
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    61
    top: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    62
    left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    63
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    64
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    65
.water .shadow {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    66
    left: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    67
    opacity: 0.5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    68
    filter: alpha(opacity=30);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    69
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    70
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    71
.duck-row {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    72
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    73
    left: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    74
    top: 57px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    75
    width: 1340px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    76
    padding: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    77
    margin: 0;
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
.duck-row li{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    81
    position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    82
    display: inline-block;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    83
    zoom: 1; *display: inline; /* IE < 8: fake inline-block */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    84
    width: 133px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    85
    height: 70px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    86
    margin: 0 -4px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    87
    vertical-align: bottom;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    88
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    89
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    90
.duck-row li img{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    91
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    92
    bottom: 7px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    93
    left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    94
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    95
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    96
/* the voice bubble of the ducks */
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    97
.duck-row .squawk {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    98
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
    99
    top: -400px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   100
    left: 50px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   101
    -moz-border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   102
    -webkit-border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   103
    border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   104
    background-color: #ffe;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   105
    line-height: 1.2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   106
    border: solid 1px #cc8;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   107
    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   108
    -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   109
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   110
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   111
.duck-row .squawk .text{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   112
    padding: 0.2em 0.4em 0.2em 0em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   113
    text-indent: 0.2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   114
    overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   115
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   116
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   117
.small-squawk-bubble{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   118
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   119
    bottom: -4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   120
    left: -8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   121
    width: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   122
    height: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   123
    border: solid 1px #cc8;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   124
    -moz-border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   125
    -webkit-border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   126
    border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   127
    background-color: #ffe;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   128
    font-size: 2px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   129
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   130
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   131
#button-reset{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   132
    margin-right: 2em;
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
.ducks-remain{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   136
    font-size: 150%;
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
#show-attitude{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   140
    margin-left: 8em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   141
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   142
</style>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   143
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   144
    <div class='gallery'>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   145
        <ul class="duck-row">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   146
            <li></li> <!-- each of these will be a duck -->
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   147
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   148
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   149
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   150
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   151
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   152
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   153
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   154
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   155
            <li></li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   156
        </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   157
        <div class="water">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   158
            <img class="shadow" src="../assets/node/images/water-shadow.png"/>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   159
            <img src="../assets/node/images/water.png"/>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   160
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   161
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   162
    <button id="button-reset" class="yui3-button">Reset</button>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   163
    Ducks remaining: <span class="ducks-remain">10</span>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   164
    <input type="checkbox" id="show-attitude"/><label for="show-attitude">Show attitude</label>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   165
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   166
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   167
YUI().use('transition', 'button', function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   168
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   169
    var ducks = Y.all('.duck-row li'),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   170
        ducksRemaining = 10, // value for UI display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   171
        squawkTextIndex = 0, // index in the squawkTextArr to use next
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   172
        squawkTextArr = [   // duck comments
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   173
            '#@&~*Q!',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   174
            'Hey!?',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   175
            '911 on U!',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   176
            "U&nbsp;fly's&nbsp;down",
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   177
            'duck&nbsp;pile!',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   178
            'Ricochets&nbsp;kill!',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   179
            'how&nbsp;sporting.',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   180
            "shoe's&nbsp;untied"
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   181
        ];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   182
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   183
    // append the same content for each duck <li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   184
    ducks.append('<img src="../assets/node/images/duck.png"/><div class="squawk"><div class="text">#@&~*Q!</div><div class="small-squawk-bubble"></div></div>');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   185
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   186
    // give them all the set-up state class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   187
    ducks.addClass('set-up');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   188
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   189
    // this makes the ducks move from right to left.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   190
    // When the duck on the far left disappears from view,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   191
    // it's added to the far right end of the row.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   192
    var makeDucksSwim = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   193
        var frontDuck;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   194
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   195
        // move the duck row to the left one duck space over 2 seconds
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   196
        Y.one('.duck-row').transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   197
            easing: 'linear',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   198
            left: '-119px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   199
            duration: 2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   200
        }, function () { // when the row finishes its right to left transition...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   201
            // remove the first duck on the left
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   202
            // which has trasitioned out of view
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   203
            frontDuck = Y.one('.duck-row li').remove();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   204
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   205
            // append the removed first duck onto the right end
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   206
            Y.one('.duck-row').appendChild(frontDuck);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   207
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   208
            // set the position for the next makeDucksSwim()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   209
            Y.one('.duck-row').setStyle('left', '10px');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   210
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   211
            // if there are ducks remaining, make them swim again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   212
            if (ducksRemaining > 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   213
                makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   214
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   215
        });       
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   216
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   217
    makeDucksSwim(); // this initializes the ducks swimming
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   218
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   219
    // handles a click on a duck
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   220
    var duckClick = function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   221
        var squawks;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   222
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   223
        // remove the squawk belonging to the duck that was clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   224
        e.currentTarget.one('.squawk').setStyles({'top': '-400px', 'opacity': '1'});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   225
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   226
        // makes the ducks appear to lay back when clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   227
        e.target.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   228
            duration: 0.2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   229
            height: '3px',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   230
            width: '133px'
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   231
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   232
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   233
        // the clicked duck will no longer have the 'set-up' class/state
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   234
        e.currentTarget.removeClass('set-up');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   235
        makeDucksSquawk();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   236
        updateDucksRemaining(); // update the number of ducks still set up
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   237
    };
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   238
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   239
    // this makes the duck's squawks show and hide and get various text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   240
    var makeDucksSquawk = function(){    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   241
        squawks = Y.all('.duck-row .set-up .squawk'); // a NodeList of the squawks of set-up ducks
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   242
        if (Y.one('#show-attitude')._node.checked) {  // only have ducks squawk if the checkbox is checked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   243
            // fill voice bubbles with next text string
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   244
            Y.all('.duck-row .set-up .squawk .text').setHTML(squawkTextArr[squawkTextIndex]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   245
            
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   246
            // increment the index to get the next squawk text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   247
            squawkTextIndex = (squawkTextIndex += 1) % (squawkTextArr.length);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   248
            squawks.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   249
                top: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   250
                    delay: 0.5,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   251
                    value: '0px', // drop squawks into position from hidden 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   252
                    duration: 0   // instant position change
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   253
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   254
                opacity: { // fade out
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   255
                    delay: 3.0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   256
                    duration: 0.3,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   257
                    value: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   258
                } 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   259
            }, function(e){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   260
                // after squawks are faded out,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   261
                // move them to hidden position and set opacity to 1 again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   262
                squawks.setStyles({'top': '-400px', 'opacity': '1'});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   263
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   264
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   265
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   266
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   267
    // This resets all ducks, "ducks remaining" counters, and row position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   268
    // make the duck images full height
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   269
    // start them swimming     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   270
    var reset = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   271
        Y.all('.duck-row li img').setStyle('height', '55px');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   272
        Y.all('.duck-row li').addClass('set-up');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   273
        updateDucksRemaining();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   274
        makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   275
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   276
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   277
    // counts the ducks remaining, and updates the UI counter display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   278
    var updateDucksRemaining = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   279
        ducksRemaining = Y.all('.gallery li.set-up').size();    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   280
        Y.one('.ducks-remain').setHTML(ducksRemaining);    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   281
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   282
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   283
    // listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   284
    Y.one('.duck-row').delegate('click', duckClick, 'li');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   285
    Y.one('#button-reset').on('click', reset);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   286
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   287
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   288
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   289
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   290
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   291
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   292
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   293
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   294
<h2>The HTML</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   295
<pre class="code prettyprint">&lt;div class=&#x27;gallery&#x27;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   296
    &lt;ul class=&quot;duck-row&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   297
        &lt;li&gt;&lt;&#x2F;li&gt; &lt;!-- each of these will be a duck --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   298
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   299
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   300
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   301
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   302
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   303
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   304
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   305
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   306
        &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   307
    &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   308
    &lt;div class=&quot;water&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   309
        &lt;img class=&quot;shadow&quot; src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;water-shadow.png&quot;&#x2F;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   310
        &lt;img src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;water.png&quot;&#x2F;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   311
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   312
&lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   313
&lt;button id=&quot;button-reset&quot; class=&quot;yui3-button&quot;&gt;Reset&lt;&#x2F;button&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   314
Ducks remaining: &lt;span class=&quot;ducks-remain&quot;&gt;10&lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   315
&lt;input type=&quot;checkbox&quot; id=&quot;show-attitude&quot;&#x2F;&gt;&lt;label for=&quot;show-attitude&quot;&gt;Show attitude&lt;&#x2F;label&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   316
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   317
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   318
<h2>YUI Instance</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   319
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   320
The <code>use</code> statement doesn't include <code>node</code> because it's loaded as a requirement of transition.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   321
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   322
<pre class="code prettyprint">YUI().use(&#x27;transition&#x27;, &#x27;button&#x27;, function(Y){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   323
    &#x2F;&#x2F; code goes here
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   324
});</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   325
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   326
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   327
<h2>Setting Vars</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   328
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   329
The variable <code>ducks</code> is used for easily manipulating all the ducks at once.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   330
We'll display various duck comments from the array <code>squawkTextArr</code> on a rotating basis. 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   331
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   332
<pre class="code prettyprint">var ducks = Y.all(&#x27;.duck-row li&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   333
    ducksRemaining = 10, &#x2F;&#x2F; value for UI display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   334
    squawkTextIndex = 0, &#x2F;&#x2F; index in the squawkTextArr to use next
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   335
    squawkTextArr = [   &#x2F;&#x2F; duck comments
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   336
        &#x27;#@&amp;~*Q!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   337
        &#x27;Hey!?&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   338
        &#x27;911 on U!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   339
        &quot;U&amp;nbsp;fly&#x27;s&amp;nbsp;down&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   340
        &#x27;duck&amp;nbsp;pile!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   341
        &#x27;Ricochets&amp;nbsp;kill!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   342
        &#x27;how&amp;nbsp;sporting.&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   343
        &quot;shoe&#x27;s&amp;nbsp;untied&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   344
    ];</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   345
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   346
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   347
<h2>Initializing the Ducks</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   348
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   349
Repetitive markup is added with the <code>.append()</code> method to all the ducks in the <code>NodeList</code>.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   350
This keeps the original markup simple and clear.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   351
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   352
<pre class="code prettyprint">&#x2F;&#x2F; append the same content for each duck &lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   353
ducks.append(&#x27;&lt;img src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;duck.png&quot;&#x2F;&gt;&lt;div class=&quot;squawk&quot;&gt;&lt;div class=&quot;text&quot;&gt;#@&amp;~*Q!&lt;&#x2F;div&gt;&lt;div class=&quot;small-squawk-bubble&quot;&gt;&lt;&#x2F;div&gt;&lt;&#x2F;div&gt;&#x27;);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   354
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   355
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   356
All the ducks in the <code>NodeList</code> are given the <code>set-up</code> class with the <code>.addClass()</code> method.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   357
This class is found on any duck that has the state of being set up, as opposed to being knocked down.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   358
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   359
<pre class="code prettyprint">&#x2F;&#x2F; give them all the set-up state class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   360
ducks.addClass(&#x27;set-up&#x27;);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   361
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   362
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   363
This state could be a Boolean property, but it's handy as a class, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   364
because a <code>NodeList</code> can be made containing the squawks of all "set up" ducks in this way, 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   365
<code>squawks = Y.all(&#x27;.duck-row .set-up .squawk&#x27;);</code> 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   366
as we'll see in the <code>makeDucksSquawk</code> function.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   367
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   368
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   369
<h2>Making the Ducks Swim</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   370
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   371
This uses <code>transition</code> to make the ducks swim right to left 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   372
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   373
<pre class="code prettyprint">&#x2F;&#x2F; this makes the ducks move from right to left.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   374
&#x2F;&#x2F; When the duck on the far left disappears from view,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   375
&#x2F;&#x2F; it&#x27;s added to the far right end of the row.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   376
var makeDucksSwim = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   377
    var frontDuck;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   378
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   379
    &#x2F;&#x2F; move the duck row to the left one duck space over 2 seconds
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   380
    Y.one(&#x27;.duck-row&#x27;).transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   381
        easing: &#x27;linear&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   382
        left: &#x27;-119px&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   383
        duration: 2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   384
    }, function () { &#x2F;&#x2F; when the row finishes its right to left transition...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   385
        &#x2F;&#x2F; remove the first duck on the left
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   386
        &#x2F;&#x2F; which has trasitioned out of view
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   387
        frontDuck = Y.one(&#x27;.duck-row li&#x27;).remove();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   388
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   389
        &#x2F;&#x2F; append the removed first duck onto the right end
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   390
        Y.one(&#x27;.duck-row&#x27;).appendChild(frontDuck);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   391
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   392
        &#x2F;&#x2F; set the position for the next makeDucksSwim()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   393
        Y.one(&#x27;.duck-row&#x27;).setStyle(&#x27;left&#x27;, &#x27;10px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   394
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   395
        &#x2F;&#x2F; if there are ducks remaining, make them swim again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   396
        if (ducksRemaining &gt; 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   397
            makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   398
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   399
    });       
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   400
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   401
makeDucksSwim(); &#x2F;&#x2F; this initializes the ducks swimming</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   402
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   403
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   404
<h2>Click Event Handler</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   405
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   406
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   407
<pre class="code prettyprint">&#x2F;&#x2F; handles a click on a duck
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   408
var duckClick = function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   409
    var squawks;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   410
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   411
    &#x2F;&#x2F; remove the squawk belonging to the duck that was clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   412
    e.currentTarget.one(&#x27;.squawk&#x27;).setStyles({&#x27;top&#x27;: &#x27;-400px&#x27;, &#x27;opacity&#x27;: &#x27;1&#x27;});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   413
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   414
    &#x2F;&#x2F; makes the ducks appear to lay back when clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   415
    e.target.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   416
        duration: 0.2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   417
        height: &#x27;3px&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   418
        width: &#x27;133px&#x27;
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
    &#x2F;&#x2F; the clicked duck will no longer have the &#x27;set-up&#x27; class&#x2F;state
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   422
    e.currentTarget.removeClass(&#x27;set-up&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   423
    makeDucksSquawk(); &#x2F;&#x2F; makes the ducks squawk
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   424
    updateDucksRemaining(); &#x2F;&#x2F; update the number of ducks still set up
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   425
};</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   426
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   427
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   428
<h2>Squawking Ducks</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   429
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   430
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   431
<pre class="code prettyprint">&#x2F;&#x2F; this makes the duck&#x27;s squawks show and hide and get various text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   432
var makeDucksSquawk = function(){    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   433
    squawks = Y.all(&#x27;.duck-row .set-up .squawk&#x27;); &#x2F;&#x2F; a NodeList of the squawks of set-up ducks
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   434
    if (Y.one(&#x27;#show-attitude&#x27;)._node.checked) {  &#x2F;&#x2F; only have ducks squawk if the checkbox is checked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   435
        &#x2F;&#x2F; fill voice bubbles with next text string
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   436
        Y.all(&#x27;.duck-row .set-up .squawk .text&#x27;).setHTML(squawkTextArr[squawkTextIndex]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   437
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   438
        &#x2F;&#x2F; increment the index to get the next squawk text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   439
        squawkTextIndex = (squawkTextIndex += 1) % (squawkTextArr.length);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   440
        squawks.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   441
            top: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   442
                delay: 0.5,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   443
                value: &#x27;0px&#x27;, &#x2F;&#x2F; drop squawks into position from hidden 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   444
                duration: 0   &#x2F;&#x2F; instant position change
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   445
            },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   446
            opacity: { &#x2F;&#x2F; fade out
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   447
                delay: 3.0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   448
                duration: 0.3,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   449
                value: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   450
            } 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   451
        }, function(e){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   452
            &#x2F;&#x2F; after squawks are faded out,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   453
            &#x2F;&#x2F; move them to hidden position and set opacity to 1 again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   454
            squawks.setStyles({&#x27;top&#x27;: &#x27;-400px&#x27;, &#x27;opacity&#x27;: &#x27;1&#x27;});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   455
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   456
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   457
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   458
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   459
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   460
<h2>Reset and Ducks Remaining</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   461
<pre class="code prettyprint">&#x2F;&#x2F; This resets all ducks, &quot;ducks remaining&quot; counters, and row position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   462
&#x2F;&#x2F; make the duck images full height
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   463
&#x2F;&#x2F; start them swimming     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   464
var reset = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   465
    Y.all(&#x27;.duck-row li img&#x27;).setStyle(&#x27;height&#x27;, &#x27;55px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   466
    Y.all(&#x27;.duck-row li&#x27;).addClass(&#x27;set-up&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   467
    updateDucksRemaining();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   468
    makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   469
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   470
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   471
&#x2F;&#x2F; counts the ducks remaining, and updates the UI counter display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   472
var updateDucksRemaining = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   473
    ducksRemaining = Y.all(&#x27;.gallery li.set-up&#x27;).size();    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   474
    Y.one(&#x27;.ducks-remain&#x27;).setHTML(ducksRemaining);    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   475
}</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   476
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   477
<h2>Prefer <code>node.delegate()</code> over <code>nodelist.on()</code></h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   478
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   479
<p>Sometimes you need to create individual subscriptions for each Node in a 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   480
NodeList, but usually it's preferable to use 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   481
<a href="node-evt-delegation.html">event delegation</a> as shown in this example.</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   482
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   483
<h2>Listeners</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   484
<p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   485
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   486
</p>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   487
<pre class="code prettyprint">&#x2F;&#x2F; listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   488
Y.one(&#x27;.duck-row&#x27;).delegate(&#x27;click&#x27;, duckClick, &#x27;li&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   489
Y.one(&#x27;#button-reset&#x27;).on(&#x27;click&#x27;, reset);</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   490
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   491
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   492
<h2>Complete Ducks Example Source</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   493
<pre class="code prettyprint">&lt;style&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   494
.gallery{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   495
    position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   496
    background: url(..&#x2F;assets&#x2F;node&#x2F;images&#x2F;background.png);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   497
    width: 638px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   498
    height: 180px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   499
    overflow: hidden;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   500
    -moz-border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   501
    -webkit-border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   502
    border-radius: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   503
    -moz-box-shadow: 0 0 45px #000 inset, 3px 0 6px rgba(0,0,0,0.8);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   504
    -webkit-box-shadow: 0 0 45px #000 inset, 3px 0 6px rgba(0,0,0,0.8);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   505
    border: 4px solid #637073;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   506
    cursor: crosshair;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   507
    margin: 0.5em 0 0.8em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   508
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   509
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   510
.water{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   511
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   512
    top: 114px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   513
    left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   514
    width: 677px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   515
    height: 50px;
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
.water img{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   519
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   520
    top: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   521
    left: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   522
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   523
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   524
.water .shadow {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   525
    left: 8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   526
    opacity: 0.5;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   527
    filter: alpha(opacity=30);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   528
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   529
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   530
.duck-row {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   531
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   532
    left: 10px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   533
    top: 57px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   534
    width: 1340px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   535
    padding: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   536
    margin: 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   537
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   538
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   539
.duck-row li{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   540
    position: relative;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   541
    display: inline-block;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   542
    zoom: 1; *display: inline; &#x2F;* IE &lt; 8: fake inline-block *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   543
    width: 133px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   544
    height: 70px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   545
    margin: 0 -4px 0 0;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   546
    vertical-align: bottom;
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
.duck-row li img{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   550
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   551
    bottom: 7px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   552
    left: 0;
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
&#x2F;* the voice bubble of the ducks *&#x2F;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   556
.duck-row .squawk {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   557
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   558
    top: -400px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   559
    left: 50px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   560
    -moz-border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   561
    -webkit-border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   562
    border-radius: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   563
    background-color: #ffe;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   564
    line-height: 1.2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   565
    border: solid 1px #cc8;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   566
    -moz-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   567
    -webkit-box-shadow: 2px 2px 2px rgba(0,0,0,0.2);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   568
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   569
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   570
.duck-row .squawk .text{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   571
    padding: 0.2em 0.4em 0.2em 0em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   572
    text-indent: 0.2em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   573
    overflow: hidden;
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
.small-squawk-bubble{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   577
    position: absolute;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   578
    bottom: -4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   579
    left: -8px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   580
    width: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   581
    height: 4px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   582
    border: solid 1px #cc8;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   583
    -moz-border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   584
    -webkit-border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   585
    border-radius: 3px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   586
    background-color: #ffe;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   587
    font-size: 2px;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   588
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   589
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   590
#button-reset{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   591
    margin-right: 2em;
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
.ducks-remain{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   595
    font-size: 150%;
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
#show-attitude{
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   599
    margin-left: 8em;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   600
}
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   601
&lt;&#x2F;style&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   602
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   603
    &lt;div class=&#x27;gallery&#x27;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   604
        &lt;ul class=&quot;duck-row&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   605
            &lt;li&gt;&lt;&#x2F;li&gt; &lt;!-- each of these will be a duck --&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   606
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   607
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   608
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   609
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   610
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   611
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   612
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   613
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   614
            &lt;li&gt;&lt;&#x2F;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   615
        &lt;&#x2F;ul&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   616
        &lt;div class=&quot;water&quot;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   617
            &lt;img class=&quot;shadow&quot; src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;water-shadow.png&quot;&#x2F;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   618
            &lt;img src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;water.png&quot;&#x2F;&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   619
        &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   620
    &lt;&#x2F;div&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   621
    &lt;button id=&quot;button-reset&quot; class=&quot;yui3-button&quot;&gt;Reset&lt;&#x2F;button&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   622
    Ducks remaining: &lt;span class=&quot;ducks-remain&quot;&gt;10&lt;&#x2F;span&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   623
    &lt;input type=&quot;checkbox&quot; id=&quot;show-attitude&quot;&#x2F;&gt;&lt;label for=&quot;show-attitude&quot;&gt;Show attitude&lt;&#x2F;label&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   624
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   625
&lt;script&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   626
YUI().use(&#x27;transition&#x27;, &#x27;button&#x27;, function (Y) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   627
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   628
    var ducks = Y.all(&#x27;.duck-row li&#x27;),
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   629
        ducksRemaining = 10, &#x2F;&#x2F; value for UI display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   630
        squawkTextIndex = 0, &#x2F;&#x2F; index in the squawkTextArr to use next
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   631
        squawkTextArr = [   &#x2F;&#x2F; duck comments
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   632
            &#x27;#@&amp;~*Q!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   633
            &#x27;Hey!?&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   634
            &#x27;911 on U!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   635
            &quot;U&amp;nbsp;fly&#x27;s&amp;nbsp;down&quot;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   636
            &#x27;duck&amp;nbsp;pile!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   637
            &#x27;Ricochets&amp;nbsp;kill!&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   638
            &#x27;how&amp;nbsp;sporting.&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   639
            &quot;shoe&#x27;s&amp;nbsp;untied&quot;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   640
        ];
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   641
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   642
    &#x2F;&#x2F; append the same content for each duck &lt;li&gt;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   643
    ducks.append(&#x27;&lt;img src=&quot;..&#x2F;assets&#x2F;node&#x2F;images&#x2F;duck.png&quot;&#x2F;&gt;&lt;div class=&quot;squawk&quot;&gt;&lt;div class=&quot;text&quot;&gt;#@&amp;~*Q!&lt;&#x2F;div&gt;&lt;div class=&quot;small-squawk-bubble&quot;&gt;&lt;&#x2F;div&gt;&lt;&#x2F;div&gt;&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   644
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   645
    &#x2F;&#x2F; give them all the set-up state class
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   646
    ducks.addClass(&#x27;set-up&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   647
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   648
    &#x2F;&#x2F; this makes the ducks move from right to left.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   649
    &#x2F;&#x2F; When the duck on the far left disappears from view,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   650
    &#x2F;&#x2F; it&#x27;s added to the far right end of the row.
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   651
    var makeDucksSwim = function () {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   652
        var frontDuck;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   653
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   654
        &#x2F;&#x2F; move the duck row to the left one duck space over 2 seconds
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   655
        Y.one(&#x27;.duck-row&#x27;).transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   656
            easing: &#x27;linear&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   657
            left: &#x27;-119px&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   658
            duration: 2
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   659
        }, function () { &#x2F;&#x2F; when the row finishes its right to left transition...
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   660
            &#x2F;&#x2F; remove the first duck on the left
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   661
            &#x2F;&#x2F; which has trasitioned out of view
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   662
            frontDuck = Y.one(&#x27;.duck-row li&#x27;).remove();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   663
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   664
            &#x2F;&#x2F; append the removed first duck onto the right end
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   665
            Y.one(&#x27;.duck-row&#x27;).appendChild(frontDuck);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   666
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   667
            &#x2F;&#x2F; set the position for the next makeDucksSwim()
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   668
            Y.one(&#x27;.duck-row&#x27;).setStyle(&#x27;left&#x27;, &#x27;10px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   669
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   670
            &#x2F;&#x2F; if there are ducks remaining, make them swim again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   671
            if (ducksRemaining &gt; 0) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   672
                makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   673
            }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   674
        });       
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   675
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   676
    makeDucksSwim(); &#x2F;&#x2F; this initializes the ducks swimming
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   677
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   678
    &#x2F;&#x2F; handles a click on a duck
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   679
    var duckClick = function(e) {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   680
        var squawks;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   681
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   682
        &#x2F;&#x2F; remove the squawk belonging to the duck that was clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   683
        e.currentTarget.one(&#x27;.squawk&#x27;).setStyles({&#x27;top&#x27;: &#x27;-400px&#x27;, &#x27;opacity&#x27;: &#x27;1&#x27;});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   684
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   685
        &#x2F;&#x2F; makes the ducks appear to lay back when clicked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   686
        e.target.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   687
            duration: 0.2,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   688
            height: &#x27;3px&#x27;,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   689
            width: &#x27;133px&#x27;
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   690
        });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   691
        
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   692
        &#x2F;&#x2F; the clicked duck will no longer have the &#x27;set-up&#x27; class&#x2F;state
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   693
        e.currentTarget.removeClass(&#x27;set-up&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   694
        makeDucksSquawk();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   695
        updateDucksRemaining(); &#x2F;&#x2F; update the number of ducks still set up
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
    &#x2F;&#x2F; this makes the duck&#x27;s squawks show and hide and get various text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   699
    var makeDucksSquawk = function(){    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   700
        squawks = Y.all(&#x27;.duck-row .set-up .squawk&#x27;); &#x2F;&#x2F; a NodeList of the squawks of set-up ducks
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   701
        if (Y.one(&#x27;#show-attitude&#x27;)._node.checked) {  &#x2F;&#x2F; only have ducks squawk if the checkbox is checked
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   702
            &#x2F;&#x2F; fill voice bubbles with next text string
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   703
            Y.all(&#x27;.duck-row .set-up .squawk .text&#x27;).setHTML(squawkTextArr[squawkTextIndex]);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   704
            
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   705
            &#x2F;&#x2F; increment the index to get the next squawk text
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   706
            squawkTextIndex = (squawkTextIndex += 1) % (squawkTextArr.length);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   707
            squawks.transition({
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   708
                top: {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   709
                    delay: 0.5,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   710
                    value: &#x27;0px&#x27;, &#x2F;&#x2F; drop squawks into position from hidden 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   711
                    duration: 0   &#x2F;&#x2F; instant position change
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   712
                },
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   713
                opacity: { &#x2F;&#x2F; fade out
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   714
                    delay: 3.0,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   715
                    duration: 0.3,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   716
                    value: 0
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   717
                } 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   718
            }, function(e){
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   719
                &#x2F;&#x2F; after squawks are faded out,
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   720
                &#x2F;&#x2F; move them to hidden position and set opacity to 1 again
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   721
                squawks.setStyles({&#x27;top&#x27;: &#x27;-400px&#x27;, &#x27;opacity&#x27;: &#x27;1&#x27;});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   722
            });
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   723
        }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   724
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   725
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   726
    &#x2F;&#x2F; This resets all ducks, &quot;ducks remaining&quot; counters, and row position
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   727
    &#x2F;&#x2F; make the duck images full height
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   728
    &#x2F;&#x2F; start them swimming     
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   729
    var reset = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   730
        Y.all(&#x27;.duck-row li img&#x27;).setStyle(&#x27;height&#x27;, &#x27;55px&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   731
        Y.all(&#x27;.duck-row li&#x27;).addClass(&#x27;set-up&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   732
        updateDucksRemaining();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   733
        makeDucksSwim();
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   734
    }
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   735
    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   736
    &#x2F;&#x2F; counts the ducks remaining, and updates the UI counter display
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   737
    var updateDucksRemaining = function() {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   738
        ducksRemaining = Y.all(&#x27;.gallery li.set-up&#x27;).size();    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   739
        Y.one(&#x27;.ducks-remain&#x27;).setHTML(ducksRemaining);    
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
    &#x2F;&#x2F; listeners
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   743
    Y.one(&#x27;.duck-row&#x27;).delegate(&#x27;click&#x27;, duckClick, &#x27;li&#x27;);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   744
    Y.one(&#x27;#button-reset&#x27;).on(&#x27;click&#x27;, reset);
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   745
});
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   746
&lt;&#x2F;script&gt;</pre>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   747
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   748
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   749
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   750
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   751
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   752
        <div class="yui3-u-1-4">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   753
            <div class="sidebar">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   754
                
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
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   758
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   759
                            <h2 class="no-toc">Examples</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   760
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   761
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   762
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   763
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   764
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   765
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   766
                                        <li data-description="Using selectors and property accessors with Node.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   767
                                            <a href="properties.html">Set and Get Properties</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   768
                                        </li>
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
                                        <li data-description="Using DOM methods with Node.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   773
                                            <a href="dom-node.html">DOM Methods</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   774
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   775
                                    
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
                                        <li data-description="Building a simple store and shopping cart.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   779
                                            <a href="store.html">DOM Methods - Store</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   780
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   781
                                    
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
                                        <li data-description="Listening for DOM events with Node instances.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   785
                                            <a href="events.html">Handling DOM Events</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   786
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   787
                                    
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
                                        <li data-description="NodeList provides Node functionality for manipulating multiple nodes at once.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   791
                                            <a href="nodelist.html">Using NodeList - Simple</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   792
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   793
                                    
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
                                        <li data-description="How to use multiple NodeList features to build a simple game.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   797
                                            <a href="ducks.html">Using NodeList - Ducks Game</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   798
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   799
                                    
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
                                        <li data-description="Using a single event listener to handle events on multiple nodes.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   803
                                            <a href="node-evt-delegation.html">Delegating Node Events</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   804
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   805
                                    
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
                                        <li data-description="This example demonstrates how to position an element in page coordinates.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   809
                                            <a href="node-xy.html">Node Positioning</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   810
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   811
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   812
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   813
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   814
                                        <li data-description="This example demonstrates how to set styles and get style information.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   815
                                            <a href="node-style.html">Node Styling</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   816
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   817
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   818
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   819
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   820
                                        <li data-description="This example demonstrates how to insert content into a Node.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   821
                                            <a href="node-insert.html">Adding Node Content - Burger Builder</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   822
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   823
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   824
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   825
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   826
                                        <li data-description="This example demonstrates how to show and hide a Node.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   827
                                            <a href="node-view.html">Showing and Hiding</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   828
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   829
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   830
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   831
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   832
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   833
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   834
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   835
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   836
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   837
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   838
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   839
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   840
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   841
                                    
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
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   846
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   847
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   848
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   849
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   850
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   851
                    <div class="sidebox">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   852
                        <div class="hd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   853
                            <h2 class="no-toc">Examples That Use This Component</h2>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   854
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   855
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   856
                        <div class="bd">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   857
                            <ul class="examples">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   858
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   859
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   860
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   861
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   862
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   863
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   864
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   865
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   866
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   867
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   868
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   869
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   870
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   871
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   872
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   873
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   874
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   875
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   876
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   877
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   878
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   879
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   880
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   881
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   882
                                        <li data-description="Creating an accessible toolbar using the Focus Manager Node Plugin and Node&#x27;s support for the WAI-ARIA Roles and States.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   883
                                            <a href="../node-focusmanager/node-focusmanager-toolbar.html">Accessible Toolbar</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   884
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   885
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   886
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   887
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   888
                                        <li data-description="Creating an accessible menu button using the Focus Manager Node Plugin, Event&#x27;s delegation support and mouseenter event, along with the Overlay widget and Node&#x27;s support for the WAI-ARIA Roles and States.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   889
                                            <a href="../node-focusmanager/node-focusmanager-button.html">Accessible Menu Button</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   890
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   891
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   892
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   893
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   894
                                        <li data-description="Use the Event Utility to attach simple DOM event handlers.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   895
                                            <a href="../event/basic-example.html">Simple DOM Events</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   896
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   897
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   898
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   899
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   900
                                        <li data-description="Example Photo Browser application.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   901
                                            <a href="../dd/photo-browser.html">Photo Browser</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   902
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   903
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   904
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   905
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   906
                                        <li data-description="Portal style example using Drag &amp; Drop Event Bubbling and Animation.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   907
                                            <a href="../dd/portal-drag.html">Portal Style Example</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   908
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   909
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   910
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   911
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   912
                                        <li data-description="Use IO to request XML data from a remote web service.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   913
                                            <a href="../io/weather.html">Request XML data from Yahoo! Weather</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   914
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   915
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   916
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   917
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   918
                                        <li data-description="Use IO to make a cross-domain request to Yahoo! Pipes, returning data from disparate sources.">
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   919
                                            <a href="../io/xdr.html">Request JSON using Yahoo! Pipes</a>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   920
                                        </li>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   921
                                    
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   922
                                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   923
                            </ul>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   924
                        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   925
                    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   926
                
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   927
            </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   928
        </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   929
    </div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   930
</div>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   931
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   932
<script src="../assets/vendor/prettify/prettify-min.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   933
<script>prettyPrint();</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   934
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   935
<script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   936
YUI.Env.Tests = {
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   937
    examples: [],
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   938
    project: '../assets',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   939
    assets: '../assets/node',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   940
    name: 'ducks',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   941
    title: 'Using NodeList - Ducks Game',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   942
    newWindow: '',
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   943
    auto:  false 
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   944
};
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   945
YUI.Env.Tests.examples.push('properties');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   946
YUI.Env.Tests.examples.push('dom-node');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   947
YUI.Env.Tests.examples.push('store');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   948
YUI.Env.Tests.examples.push('events');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   949
YUI.Env.Tests.examples.push('nodelist');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   950
YUI.Env.Tests.examples.push('ducks');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   951
YUI.Env.Tests.examples.push('node-evt-delegation');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   952
YUI.Env.Tests.examples.push('node-xy');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   953
YUI.Env.Tests.examples.push('node-style');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   954
YUI.Env.Tests.examples.push('node-insert');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   955
YUI.Env.Tests.examples.push('node-view');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   956
YUI.Env.Tests.examples.push('node-focusmanager-toolbar');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   957
YUI.Env.Tests.examples.push('node-focusmanager-button');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   958
YUI.Env.Tests.examples.push('basic-example');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   959
YUI.Env.Tests.examples.push('photo-browser');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   960
YUI.Env.Tests.examples.push('portal-drag');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   961
YUI.Env.Tests.examples.push('weather');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   962
YUI.Env.Tests.examples.push('xdr');
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   963
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   964
</script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   965
<script src="../assets/yui/test-runner.js"></script>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   966
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   967
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   968
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   969
</body>
89ef5ed3c48b Upgrades to yui 3.10.3
gibus
parents:
diff changeset
   970
</html>