annotate js/mpiwg.js @ 221:e8431f86ac70

anker fuer direkte spruenge in thesaurus
author dwinter
date Thu, 24 Oct 2013 15:32:51 +0200
parents 5ffb9e7167b6
children 4eddd388d490
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
1 /*
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
2 * Javascript for MPIWG website
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
3 * (C) 2013 MPIWG Berlin
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
4 */
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
5
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
6 /*
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
7 * AjaxSlider plugin.
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
8 */
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
9 (function ($) {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
10 $.fn.AjaxSlider = function (opts) {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
11 var settings = $.extend({
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
12 dataUrl : null,
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
13 dataSel : '',
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
14 windowSel : 'div.slidewindow',
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
15 contentSel : 'div.row',
117
aaa2609ea97d added minHeight to AJAX slider.
casties
parents: 116
diff changeset
16 minHeight : 0,
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
17 buttonWidth : '20px',
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
18 scrollBy: '100px',
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
19 }, opts);
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
20 var url = settings.dataUrl + ' ' + settings.dataSel;
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
21 var $slider = this;
116
f2be4e850d0c AJAX slider takes height of loaded content.
casties
parents: 113
diff changeset
22 var winW = this.width() - 2 * settings.buttonWidth;
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
23 var sliderH = this.height();
144
529d397e04f6 change cursor over slidebutton.
casties
parents: 119
diff changeset
24 // load HTML from dataUrl into $slider
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
25 this.load(url, function () {
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
26 var $window = $slider.find(settings.windowSel);
116
f2be4e850d0c AJAX slider takes height of loaded content.
casties
parents: 113
diff changeset
27 var $content = $slider.find(settings.contentSel);
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
28 // fix window width and height and hide overflow
117
aaa2609ea97d added minHeight to AJAX slider.
casties
parents: 116
diff changeset
29 var winH = Math.max($content.height(), settings.minHeight);
116
f2be4e850d0c AJAX slider takes height of loaded content.
casties
parents: 113
diff changeset
30 $window.css({'width':winW, 'height':winH, 'margin':'0 '+settings.buttonWidth,
112
3b0955d8a87e more sliders.
casties
parents: 109
diff changeset
31 'overflow':'hidden', 'position':'relative'});
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
32 // content will be moved
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
33 $content.css({'position':'absolute', 'left':'0'});
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
34 $slider.find('.slidebutton.prev').show().on('click', function () {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
35 $content.animate({'left':'+='+settings.scrollBy}, 'fast');
144
529d397e04f6 change cursor over slidebutton.
casties
parents: 119
diff changeset
36 }).css('cursor', 'pointer');
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
37 $slider.find('.slidebutton.next').show().on('click', function () {
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
38 $content.animate({'left':'-='+settings.scrollBy}, 'fast');
144
529d397e04f6 change cursor over slidebutton.
casties
parents: 119
diff changeset
39 }).css('cursor', 'pointer');
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
40 });
119
dwinter
parents: 117
diff changeset
41
dwinter
parents: 117
diff changeset
42
dwinter
parents: 117
diff changeset
43
113
bba951ea7479 micro fix.
casties
parents: 112
diff changeset
44 };
108
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
45 }(jQuery));
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
46
782477730916 CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents: 103
diff changeset
47
119
dwinter
parents: 117
diff changeset
48 /* experimental function for adding swiping functionallities to the slider */
dwinter
parents: 117
diff changeset
49
dwinter
parents: 117
diff changeset
50 var startX;
dwinter
parents: 117
diff changeset
51 var startY;
dwinter
parents: 117
diff changeset
52 var endX
dwinter
parents: 117
diff changeset
53 var endY
dwinter
parents: 117
diff changeset
54
dwinter
parents: 117
diff changeset
55 function touchStart(event){
dwinter
parents: 117
diff changeset
56 startX = event.touches[0].pageX;
dwinter
parents: 117
diff changeset
57 startY = event.touches[0].pageY;
dwinter
parents: 117
diff changeset
58 };
dwinter
parents: 117
diff changeset
59
dwinter
parents: 117
diff changeset
60 function touchMove(event){
dwinter
parents: 117
diff changeset
61 endX = event.targetTouches[0].pageX;
dwinter
parents: 117
diff changeset
62 endY = event.targetTouches[0].pageY;
dwinter
parents: 117
diff changeset
63 };
dwinter
parents: 117
diff changeset
64 function touchEnd(event){
dwinter
parents: 117
diff changeset
65 var scrollBy='143px';
dwinter
parents: 117
diff changeset
66 var contentSel = 'div.row';
dwinter
parents: 117
diff changeset
67
dwinter
parents: 117
diff changeset
68 //slider = document.getElementById('newBooksSlider');
dwinter
parents: 117
diff changeset
69 slider=event.currentTarget;
dwinter
parents: 117
diff changeset
70
dwinter
parents: 117
diff changeset
71 content = $(slider).find(contentSel);
dwinter
parents: 117
diff changeset
72
dwinter
parents: 117
diff changeset
73 if((startX-endX) > 0){
dwinter
parents: 117
diff changeset
74
dwinter
parents: 117
diff changeset
75 content.animate({'left':'-='+scrollBy}, 'fast');
dwinter
parents: 117
diff changeset
76
dwinter
parents: 117
diff changeset
77 }
dwinter
parents: 117
diff changeset
78 if((startX-endX) < 0){
dwinter
parents: 117
diff changeset
79 content.animate({'left':'+='+scrollBy}, 'fast');
dwinter
parents: 117
diff changeset
80 }
dwinter
parents: 117
diff changeset
81 }
dwinter
parents: 117
diff changeset
82
dwinter
parents: 117
diff changeset
83 function initialize_swipe(selector){
dwinter
parents: 117
diff changeset
84
dwinter
parents: 117
diff changeset
85 $('.ajaxSlider').each(function(){
dwinter
parents: 117
diff changeset
86 this.addEventListener("touchstart",touchStart,false);
dwinter
parents: 117
diff changeset
87 this.addEventListener("touchend",touchEnd,false);
dwinter
parents: 117
diff changeset
88 this.addEventListener("touchmove",touchMove,false);
dwinter
parents: 117
diff changeset
89
dwinter
parents: 117
diff changeset
90 } );
dwinter
parents: 117
diff changeset
91 };
dwinter
parents: 117
diff changeset
92
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
93 function getURLParameter(name) {
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
94 return (new RegExp('[?|&]' + name + '=' + '([^&;]+?)(&|#|;|$)').exec(location.search)||[,""])[1].replace(/\+/g, '%20')||null
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
95
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
96 }
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
97
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
98 function openSelected(){
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
99 // oeffne im folgenden die tags die zur kategorie "open" gehoeren
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
100 var open = getURLParameter("open");
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
101
221
e8431f86ac70 anker fuer direkte spruenge in thesaurus
dwinter
parents: 219
diff changeset
102 var head = $('#'+open).parent().parent()
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
103
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
104 var img = $(head).find('img');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
105
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
106 // tag auf level 1 ebene
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
107 if ($(head).hasClass('fold_head')){
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
108 var body = $(head).parent().find('.fold_body');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
109
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
110 body.slideToggle('fast');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
111 img.toggle();
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
112 }
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
113
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
114 //tag auf level 2 ebne
221
e8431f86ac70 anker fuer direkte spruenge in thesaurus
dwinter
parents: 219
diff changeset
115 if ($(head).hasClass('foldable2')){
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
116
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
117 //oeffne erst den darueberliegenden level
221
e8431f86ac70 anker fuer direkte spruenge in thesaurus
dwinter
parents: 219
diff changeset
118 var par = $(head).parent().parent();
e8431f86ac70 anker fuer direkte spruenge in thesaurus
dwinter
parents: 219
diff changeset
119 var img_level1 = $(head).parent().parent().find('li.fold_head img');
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
120
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
121 var level1 = par.find('.fold_body');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
122 level1.slideToggle('fast');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
123 img_level1.toggle()
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
124
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
125
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
126 //jetzt den level selbst
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
127 var body2 = $(head).parent().find('.fold_body2');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
128
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
129 body2.slideToggle('fast');
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
130 img.toggle();
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
131 }
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
132
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
133 }
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
134
66
68b3d71eed27 formatting for preprint list. javascript for foldable divs.
casties
parents:
diff changeset
135 $(document).ready(function() {
157
2e0953694aef page footer
casties
parents: 144
diff changeset
136 /*
2e0953694aef page footer
casties
parents: 144
diff changeset
137 * show javascriptonly
2e0953694aef page footer
casties
parents: 144
diff changeset
138 */
2e0953694aef page footer
casties
parents: 144
diff changeset
139 $('.javascriptonly').show();
2e0953694aef page footer
casties
parents: 144
diff changeset
140
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
141 /*
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
142 * autosubmit forms
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
143 */
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
144 $('form.autosubmit').find('.autosubmit').change(function() {
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
145 this.form.submit();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
146 });
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
147 // hide submit button
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
148 $('form.autosubmit input[type="submit"].autosubmit').hide();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
149
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
150 /*
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
151 * foldout divs
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
152 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
153 * foldable: .foldable is ancestor of .fold_head and .fold_body
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
154 * all children are folded simultaneously.
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
155 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
156 * foldableById: .foldableById is ancestor of multiple .fold_head and .fold_body
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
157 * where each pair has a common unique .foldId_xxx.
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
158 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
159 * Clicking on .fold_head folds and unfolds .fold_body.
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
160 *
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
161 * If .foldable has .initially_open .fold_body is initially shown, else its
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
162 * initally hidden.
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
163 */
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
164 $('.foldable').each(function () {
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
165 var $this = $(this);
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
166 var $head = $this.find('.fold_head');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
167 var $img = $head.find('img');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
168 var $body = $this.find('.fold_body');
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
169 $head.on('click', function () {
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
170 $body.slideToggle('fast');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
171 $img.toggle();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
172 }).css('cursor', 'pointer');
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
173 if (! $this.hasClass('initially_open')) {
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
174 // hide body initially
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
175 $body.hide();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
176 $img.toggle();
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
177 }
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
178 });
107
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
179 $('.foldable2').each(function () {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
180 var $this = $(this);
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
181 var $head = $this.find('.fold_head2');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
182 var $img = $head.find('img');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
183 var $body = $this.find('.fold_body2');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
184 $head.on('click', function () {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
185 $body.slideToggle('fast');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
186 $img.toggle();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
187 }).css('cursor', 'pointer');
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
188 if (! $this.hasClass('initially_open')) {
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
189 // hide body initially
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
190 $body.hide();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
191 $img.toggle();
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
192 }
bf3dc3a12147 needed second level foldable
dwinter
parents: 103
diff changeset
193 });
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
194 $('.foldableById').each(function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
195 var $container = $(this);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
196 var io = $container.hasClass('initially_open');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
197 var $heads = $container.find('.fold_head');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
198 $heads.each(function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
199 var $this = $(this);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
200 var $img = $this.find('img');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
201 var id = null;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
202 // find id in class
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
203 var cls = $this.attr('class').split(' ');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
204 for (var i = 0; i < cls.length; ++i) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
205 var c = cls[i];
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
206 if (c.startsWith('foldId_')) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
207 id = c;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
208 break;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
209 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
210 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
211 if (id == null) return;
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
212 // get body using id
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
213 var $body = $container.find('.fold_body.'+id);
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
214 $this.on('click', function () {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
215 $body.slideToggle('fast');
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
216 $img.toggle();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
217 });
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
218 if (!io) {
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
219 // hide body initially
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
220 $body.hide();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
221 $img.toggle();
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
222 }
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
223 }).css('cursor', 'pointer');
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
224
103
79a198e7b1b7 foldable table rows.
casties
parents: 88
diff changeset
225 });
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
226
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
227
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
228 /*
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
229 * flyout divs
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
230 *
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
231 * currently only for div.flyout in col in row.triple.
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
232 *
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
233 * div.flyout contains img.flyout_open and img.flyout_close.
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
234 *
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
235 * div.flyout gets additional class .flying when open.
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
236 *
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
237 * div.folded will be shown when open.
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
238 *
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
239 */
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
240 $('.flyout').each(function () {
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
241 // flyout target size
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
242 var tw = 300;
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
243 var th = 400;
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
244 var $flyout = $(this);
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
245 var $buttons = $flyout.find('.flyout_open, .flyout_close');
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
246 // size up to parent in folded state
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
247 var dh = $flyout.parent().height() - $flyout.outerHeight();
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
248 if (dh > 0) {
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
249 $flyout.height($flyout.height()+dh);
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
250 }
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
251 // save original size
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
252 var ow = $flyout.width();
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
253 var oh = $flyout.height();
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
254 // handle click on open button
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
255 $flyout.find('.flyout_open').on('click', function () {
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
256 $flyout.addClass('flying');
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
257 $flyout.css('position','absolute');
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
258 $flyout.animate({'width': tw, 'height': th}, 'fast');
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
259 // change open to close button
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
260 $buttons.toggle();
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
261 }).css('cursor', 'pointer');
198
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
262 // handle click on close button
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
263 $flyout.find('.flyout_close').on('click', function () {
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
264 $flyout.animate({'width': ow, 'height': oh}, {
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
265 'duration': 'fast',
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
266 'complete': function () {
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
267 $flyout.removeClass('flying');
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
268 $flyout.css('position','relative');
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
269 // change close to open button
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
270 $buttons.toggle();
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
271 }
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
272 });
7515f7e51b0f styles for flyout divs (for websites).
casties
parents: 197
diff changeset
273 }).css('cursor', 'pointer');
197
b0ed3974efbd working on flyout divs.
casties
parents: 157
diff changeset
274 });
219
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
275
5ffb9e7167b6 thesaurus auf project seinte
dwinter
parents: 198
diff changeset
276 openSelected();
88
04a26a5d3d1d .foldable.initially_open implementation.
casties
parents: 66
diff changeset
277 });