Ticket #5936: default_copy.html

File default_copy.html, 3.9 KB (added by T.Lindig, 10 years ago)

bug in position plugin

Line 
1<!DOCTYPE html>
2<html lang="en">
3<head>
4        <meta charset="UTF-8" />
5        <title>jQuery UI Position - Default functionality</title>
6        <link type="text/css" href="../../themes/base/jquery.ui.all.css" rel="stylesheet" />
7        <script type="text/javascript" src="../../jquery-1.4.2.js"></script>
8        <script type="text/javascript" src="../../ui/jquery.ui.core.js"></script>
9        <script type="text/javascript" src="../../ui/jquery.ui.widget.js"></script>
10        <script type="text/javascript" src="../../ui/jquery.ui.mouse.js"></script>
11        <script type="text/javascript" src="../../ui/jquery.ui.draggable.js"></script>
12        <script type="text/javascript" src="../../ui/jquery.ui.position.js"></script>
13        <link type="text/css" href="../demos.css" rel="stylesheet" />
14        <style type="text/css">
15
16        div#parent {
17                width: 60%;
18                margin: 10px auto;
19                padding: 5px;
20               
21                border: 1px solid #777;
22                background-color: #fbca93;
23                text-align: center;
24        }
25
26        div.positionable {
27                width: 75px;
28                height: 75px;
29                position: absolute;
30                display: block;
31                right: 0;
32                bottom: 0;
33                background-color: #bcd5e6;
34                text-align: center;
35        }
36
37        select, input {
38                margin-left: 15px;
39        }
40
41        </style>
42        <script type="text/javascript">
43        $(function() {
44               
45                function position(using) {
46                        $('.positionable').position({
47                                of: $(document), //$(window) did also not work
48                                my: $('#my_horizontal').val() + ' ' + $('#my_vertical').val(),
49                                at: $('#at_horizontal').val() + ' '+ $('#at_vertical').val(),
50                                offset: $('#offset').val(),
51                                using: using,
52                                collision: $("#collision_horizontal").val() + ' ' + $("#collision_vertical").val()
53                        });
54                }
55               
56                $('.positionable').css("opacity", 0.5);
57               
58                $(':input').bind('click keyup change', function() { position(); });
59               
60                $("#parent").draggable({
61                        drag: function() { position(); }
62                });
63               
64                $('.positionable').draggable({
65                        drag: function(event, ui) {
66                                // reset offset before calculating it
67                                $("#offset").val("0");
68                                position(function(result) {
69                                        $("#offset").val("" + (ui.offset.left - result.left) + " " + (ui.offset.top - result.top));
70                                        position();
71                                });
72                        }
73                });
74               
75                position();
76        });
77        </script>
78       
79</head>
80<body>
81
82<div class="demo">
83
84<div id="parent">
85        <p>
86        This is the position parent element.
87        </p>
88</div>
89
90<div class="positionable">
91        <p>
92        to position
93        </p>
94</div>
95
96<div class="positionable" style="width:120px; height: 40px;">
97        <p>
98        to position 2
99        </p>
100</div>
101
102<div style="padding: 20px; margin-top: 75px;">
103        position...
104        <div style="padding-bottom: 20px;">
105                <b>my:</b>
106                <select id="my_horizontal">
107                        <option value="left">left</option>
108                        <option value="center">center</option>
109                        <option value="right">right</option>
110                </select> 
111                <select id="my_vertical">
112                        <option value="top">top</option>
113                        <option value="middle">center</option>
114                        <option value="bottom">bottom</option>
115                </select>
116        </div>
117        <div style="padding-bottom: 20px;">
118                <b>at:</b>
119                <select id="at_horizontal">
120                        <option value="left">left</option>
121                        <option value="center">center</option>
122                        <option value="right">right</option>
123                </select>
124                <select id="at_vertical">
125                        <option value="top">top</option>
126                        <option value="middle">center</option>
127                        <option value="bottom">bottom</option>
128                </select>
129        </div>
130        <div style="padding-bottom: 20px;">
131                <b>offset:</b>
132                <input id="offset" type="text" size="15"/>
133        </div>
134        <div style="padding-bottom: 20px;">
135                <b>collision:</b>
136                <select id="collision_horizontal">
137                        <option value="flip">flip</option>
138                        <option value="fit">fit</option>
139                        <option value="none">none</option>
140                </select>
141                <select id="collision_vertical">
142                        <option value="flip">flip</option>
143                        <option value="fit">fit</option>
144                        <option value="none">none</option>
145                </select>
146        </div>
147</div>
148
149</div><!-- End demo -->
150
151<div class="demo-description">
152
153<p>Use the form controls to configure the positioning, or drag the positioned element to modify its offset.
154<br/>Drag around the parent element to see collision detection in action.</p>
155
156</div><!-- End demo-description -->
157
158</body>
159</html>