source: trunk/web-app/js/jsUtil.js @ 751

Last change on this file since 751 was 714, checked in by gav, 14 years ago

Speed up jsUtil.js show and hide effects, especially looping effects.

File size: 2.4 KB
Line 
1
2function toggleUtil(id) {
3    $(id).toggle();
4}
5
6function toggleWithImgUtil(id, imageId, openImgUrl, closedImgUrl) {
7
8    $(id).toggle();
9
10    if( $(id).visible() ) {
11        $(imageId).src= openImgUrl;
12    }
13    else {
14        $(imageId).src= closedImgUrl;
15    }
16}
17
18function showUtil(id) {
19    Effect.Appear(id,{duration:0.2,queue:'end'});
20}
21
22function hideUtil(id) {
23    Effect.Fade(id,{duration:0.2,queue:'end'});
24}
25
26function toggleWithEffectUtil(id) {
27    if( $(id).visible() ) {
28        Effect.Fade(id,{duration:0.4,queue:'end'});
29    }
30    else {
31        Effect.Appear(id,{duration:0.4,queue:'end'});
32    }
33}
34
35function toggleWithImgAndEffectUtil(id, imageId, openImgUrl, closedImgUrl) {
36
37    if( $(id).visible() ) {
38        Effect.Fade(id,{duration:0.4,queue:'end'});
39        $(imageId).src= closedImgUrl;
40    }
41    else {
42        Effect.Appear(id,{duration:0.4,queue:'end'});
43        $(imageId).src= openImgUrl;
44    }
45}
46
47function textAreaScrollBottom(id) {
48    $(id).scrollTop = $(id).scrollHeight;
49}
50
51function focusUtil(id) {
52    $(id).focus();
53}
54
55function enableUtil(id) {
56    $(id).disabled = false;
57}
58
59function disableUtil(id) {
60    $(id).disabled = true;
61}
62
63// Looping in reverse is apparently more efficient.
64function containsUtil(val, array) {
65    var i = array.length;
66    while (i--) {
67        if (array[i] == val) {
68            return true;
69        }
70    }
71    return false;
72}
73
74function toggleArrayUtil(idArray) {
75    var i = idArray.length;
76    while (i--) {
77        toggleUtil(idArray[i]);
78    }
79}
80
81// Loops forwards.
82function showArrayUtil(idArray) {
83    var len = idArray.length
84    var i=0;
85    for (i=0; i < len; i++) {
86        Effect.Appear(idArray[i],{duration:0.05,queue:'end'});
87    }
88}
89
90// Loops backwards.
91function hideArrayUtil(idArray) {
92    var i = idArray.length;
93    while (i--) {
94        Effect.Fade(idArray[i],{duration:0.05,queue:'end'});
95    }
96}
97
98function disableArrayUtil(idArray) {
99    var i = idArray.length;
100    while (i--) {
101        disableUtil(idArray[i]);
102    }
103}
104
105function enableArrayUtil(idArray) {
106    var i = idArray.length;
107    while (i--) {
108        enableUtil(idArray[i]);
109    }
110}
111
112function toggleIfArrayContainsValueUtil(toggleIds, val, array) {
113    if(containsUtil(val, array)) {
114        //Effect.multiple(toggleIds, Effect.Appear, {duration:0.4,queue:'end'}); // A little slow, will not go bellow 0.1 per item.
115        showArrayUtil(toggleIds);
116    }
117    else {
118        hideArrayUtil(toggleIds);
119    }
120}
Note: See TracBrowser for help on using the repository browser.