Mercurial > hg > MPIWGWeb
annotate js/mpiwg.js @ 110:b554becd8226
Incomplete - # 74: More Link auf den pers?nlichne Homepages
https://it-dev.mpiwg-berlin.mpg.de/tracs/webpage/ticket/74
author | dwinter |
---|---|
date | Tue, 28 May 2013 09:47:43 +0200 |
parents | f8e914a4992d |
children | 3b0955d8a87e |
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 |
88 | 3 */ |
66
68b3d71eed27
formatting for preprint list. javascript for foldable divs.
casties
parents:
diff
changeset
|
4 |
108
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
5 (function ($) { |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
6 $.fn.AjaxSlider = function (opts) { |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
7 var settings = $.extend({ |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
8 dataUrl : null, |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
9 dataSel : '', |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
10 contentSel : '', |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
11 scrollBy: '100px', |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
12 }, opts); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
13 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
|
14 var $slider = this; |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
15 var sliderW = this.width(); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
16 var sliderH = this.height(); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
17 this.load(url, function () { |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
18 // fix width and height and hide overflow |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
19 $slider.css({'width':sliderW, 'height':sliderH, 'overflow':'hidden', 'position':'relative'}); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
20 // content will be moved |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
21 var $content = $slider.find(settings.contentSel); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
22 $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
|
23 $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
|
24 $content.animate({'left':'+='+settings.scrollBy}, 'fast'); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
25 }); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
26 $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
|
27 $content.animate({'left':'-='+settings.scrollBy}, 'fast'); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
28 }); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
29 }); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
30 } |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
31 }(jQuery)); |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
32 |
782477730916
CLOSED - # 57: Research/ Research Units: Karussell f?r die Projekte in einem Department
casties
parents:
103
diff
changeset
|
33 |
66
68b3d71eed27
formatting for preprint list. javascript for foldable divs.
casties
parents:
diff
changeset
|
34 $(document).ready(function() { |
88 | 35 /* |
36 * autosubmit forms | |
37 */ | |
38 $('form.autosubmit').find('.autosubmit').change(function() { | |
39 this.form.submit(); | |
40 }); | |
41 // hide submit button | |
42 $('form.autosubmit input[type="submit"].autosubmit').hide(); | |
43 | |
44 /* | |
45 * foldout divs | |
103 | 46 * |
47 * foldable: .foldable is ancestor of .fold_head and .fold_body | |
48 * that are folded simultaneously. | |
49 * | |
50 * foldableById: .foldableById is ancestor of multiple .fold_head and .fold_body | |
51 * where each pair has a common unique .foldId_xxx. | |
52 * | |
53 * Clicking on .fold_head folds and unfolds .fold_body. | |
54 * | |
55 * If .foldable has .initially_open .fold_body is initially shown, else its | |
56 * initally hidden. | |
88 | 57 */ |
103 | 58 $('.foldable').each(function () { |
88 | 59 var $this = $(this); |
60 var $head = $this.find('.fold_head'); | |
61 var $img = $head.find('img'); | |
62 var $body = $this.find('.fold_body'); | |
103 | 63 $head.on('click', function () { |
88 | 64 $body.slideToggle('fast'); |
65 $img.toggle(); | |
66 }).css('cursor', 'pointer'); | |
67 if (! $this.hasClass('initially_open')) { | |
68 // hide body initially | |
69 $body.hide(); | |
70 $img.toggle(); | |
71 } | |
72 }); | |
107 | 73 $('.foldable2').each(function () { |
74 var $this = $(this); | |
75 var $head = $this.find('.fold_head2'); | |
76 var $img = $head.find('img'); | |
77 var $body = $this.find('.fold_body2'); | |
78 $head.on('click', function () { | |
79 $body.slideToggle('fast'); | |
80 $img.toggle(); | |
81 }).css('cursor', 'pointer'); | |
82 if (! $this.hasClass('initially_open')) { | |
83 // hide body initially | |
84 $body.hide(); | |
85 $img.toggle(); | |
86 } | |
87 }); | |
103 | 88 $('.foldableById').each(function () { |
89 var $container = $(this); | |
90 var io = $container.hasClass('initially_open'); | |
91 var $heads = $container.find('.fold_head'); | |
92 $heads.each(function () { | |
93 var $this = $(this); | |
94 var $img = $this.find('img'); | |
95 var id = null; | |
96 // find id in class | |
97 var cls = $this.attr('class').split(' '); | |
98 for (var i = 0; i < cls.length; ++i) { | |
99 var c = cls[i]; | |
100 if (c.startsWith('foldId_')) { | |
101 id = c; | |
102 break; | |
103 } | |
104 } | |
105 if (id == null) return; | |
106 // get body using id | |
107 var $body = $container.find('.fold_body.'+id); | |
108 $this.on('click', function () { | |
109 $body.slideToggle('fast'); | |
110 $img.toggle(); | |
111 }); | |
112 if (!io) { | |
113 // hide body initially | |
114 $body.hide(); | |
115 $img.toggle(); | |
116 } | |
117 }).css('cursor', 'pointer'); | |
118 }); | |
88 | 119 }); |