Subversion Repositories Applications.papyrus

Rev

Details | Last modification | View Log | RSS feed

Rev Author Line No. Line
2150 mathias 1
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01//EN"
2
        "http://www.w3.org/TR/html4/strict.dtd">
3
<html>
4
<head>
5
	<title>dojox.fx.sizeTo | experimental fx add-ons for the Dojo Toolkit</title>
6
 
7
	<script type="text/javascript" src="../../../dojo/dojo.js" djConfig="isDebug:true, parseOnLoad: true" ></script>
8
	<script type="text/javascript" src="../_base.js"></script>
9
	<style type="text/css">
10
		@import "../../../dojo/resources/dojo.css";
11
		@import "../../../dijit/themes/dijit.css";
12
		@import "../../../dijit/themes/tundra/tundra.css";
13
		@import "../../../dijit/tests/css/dijitTests.css";
14
                .testBox {
15
                        position:absolute;
16
                        top:0; left:0;
17
                        width:50px;
18
                        height:50px;
19
                        background:#ededed;
20
                        border:1px solid #b7b7b7;
21
                        -moz-border-radius:6pt;
22
                        -webkit-border-radius:5pt;
23
                        overflow:hidden;
24
                }
25
	</style>
26
        <script type="text/javascript">
27
 
28
        var test1 = function(e){
29
                // this is our click test,
30
                dojox.fx.sizeTo({
31
                        node: e.target,
32
                        width: 120,
33
                        height:120,
34
                        duration:250
35
                }).play(5);
36
        };
37
 
38
        var testundo = function(e){
39
                dojox.fx.sizeTo({
40
                        node: e.target,
41
                        width:50,
42
                        height:50,
43
                        duration:320
44
                }).play(5);
45
 
46
 
47
        };
48
 
49
        var test2 = function(e){
50
                dojox.fx.sizeTo({
51
                      node: e.target,
52
                      width: 120,
53
                      height:120,
54
                      duration:120,
55
                      method:"combine"
56
                }).play(5);
57
        };
58
 
59
        var noIdTest = function(){
60
                var myNode = dojo.query(".noIdHere")[0]; // first one wins
61
                if(myNode){
62
                        // mmm, fake events (all we're using is the target anyway ... )
63
                        (!dojo.hasClass(myNode,"testRun") ? test2 : testundo)({ target: myNode });
64
                        dojo.toggleClass(myNode,"testRun");
65
                }
66
        };
67
 
68
        var init = function(){
69
 
70
                // lets setup out connections, etc ...
71
                dojo.connect(dojo.byId("sizer1"),"onmousedown","test1");
72
                dojo.connect(dojo.byId("sizer1"),"onmouseup","testundo"); // generic resest
73
 
74
                // did you know dojo normalizes onmouseenter onmouseleave!?!? neat. ie got _one_ thing right.
75
                dojo.connect(dojo.byId("sizer2"),"onmouseenter","test2");
76
                dojo.connect(dojo.byId("sizer2"),"onmouseout","testundo");
77
 
78
                // example using dojo.query to get a couple of nodes and roll into one anim
79
                var hasRun = false;
80
                dojo.connect(dojo.byId("sizer3"),"onclick",function(e){
81
                        var _anims = [];
82
                        dojo.query(".testBox").forEach(function(n){
83
                                _anims.push(
84
                                        dojox.fx.sizeTo({ node: n,
85
                                                width: ( hasRun ? "50" : "150"),
86
                                                height: ( hasRun ? "50" : "150"),
87
                                                method:"chain",
88
                                                duration:720
89
                                        })
90
                                );
91
                        });
92
                        hasRun=!hasRun;
93
                        var anim = dojo.fx.combine(_anims);
94
                        anim.play();
95
                });
96
        };
97
        dojo.addOnLoad(init);
98
        </script>
99
</head>
100
<body class="tundra">
101
	<h1 class="testTitle">dojox.fx.sizeTo test</h1>
102
 
103
        <p>quick sizeTo API overview:</p>
104
 
105
        <pre>
106
        dojox.fx.sizeTo({
107
                // basic requirements:
108
                node: "aDomNodeId", // or a domNode reference
109
                width: 200, // measured in px
110
                height: 200, // measured in px
111
                method: "chain" // is default, or "combine"
112
        });
113
        </pre>
114
        <p>
115
        little test blocks (works in Opera, FF/win/mac:
116
        </p>
117
 
118
        <div style="position:relative; height:60px; width:600px; margin:0 auto;">
119
                <div id="sizer1" class="testBox">
120
                mouse down / mouse up
121
                </div>
122
                <div id="sizer2" class="testBox" style="left:60px;" >
123
                hover / exit
124
                </div>
125
                <div class="testBox noIdHere" style="left:120px; ">
126
                <a href="javascript:noIdTest()">noIdTest()</a>
127
                </div>
128
                <div class="testBox" id="sizer3" style="left:180px;">
129
                all of em'
130
                </div>
131
        </div>
132
        <br style="clear:both;">
133
 
134
        (click the box labeled "all of em'" again to reset all nodes)
135
 
136
	HTML AFTER
137
	<br>
138
 
139
</body>
140
</html>