/[bfilter]/trunk/hide.js
This is repository of my old source code which isn't updated any more. Go to git.rot13.org for current projects!
ViewVC logotype

Diff of /trunk/hide.js

Parent Directory Parent Directory | Revision Log Revision Log | View Patch Patch

revision 15 by dpavlin, Sun Sep 12 18:25:03 2004 UTC revision 16 by dpavlin, Sun Sep 12 19:08:43 2004 UTC
# Line 1  Line 1 
1    /*
2            simple yet powerful implementation of show/hide effect
3            with history navigation (back/forward/default)
4    
5            Dobrica Pavlinusic <dpavlin@rot13.org> 2004-09-12
6    */
7    
8  var changed_display_ids = [];  var changed_display_ids = [];
9  var changed_display_pos = 0;  var changed_display_pos = 0;
10    var id_cache = [];
11    
12    function element_id(id) {
13            if (id_cache[id]) {
14                    return id_cache[id];
15            } else {
16                    var el = document.getElementById(id);
17                    if (el) {
18                            id_cache[id] = el;
19                            return el;
20                    }
21            }
22    }
23    
24  function toggle_display(name,dont_save) {  function toggle_display(name,dont_save) {
25          var el = eval("document.getElementById('"+name+"')");          var el = element_id(name);
26          if (el) {          if (el) {
27                  if (el.style.display=='none')                  if (el.style.display=='none')
28                          el.style.display = '';                          el.style.display = '';
# Line 15  function toggle_display(name,dont_save) Line 35  function toggle_display(name,dont_save)
35          return false;          return false;
36  }  }
37    
38  function apply_changed_display() {  function default_display() {
39          for (var i = 0; i <= changed_display_pos; i++) {          for (var i = 0; i <= changed_display_pos; i++) {
40                  toggle_display( changed_display_ids[i], 1 );                  toggle_display( changed_display_ids[i], 1 );
41          }          }
# Line 40  function forward_display() { Line 60  function forward_display() {
60          toggle_display( changed_display_ids[changed_display_pos++], 1 );          toggle_display( changed_display_ids[changed_display_pos++], 1 );
61  }  }
62    
63    function reset_changed() {
64            changed_display_ids.length = 0;
65            changed_display_pos = 0;
66    }
67    
68  function set_display(name,display) {  function set_display(name,display) {
69          var el = eval("document.getElementById('"+name+"')");          var el = element_id(name);
70    
71          if (el) el.style.display = display          if (el) el.style.display = display
72          else alert("can't set_display("+name+","+display+")");          else alert("can't set_display("+name+","+display+")");
# Line 54  function show_display(show) { Line 78  function show_display(show) {
78          for (var i = 0; i < show.length; i++) {          for (var i = 0; i < show.length; i++) {
79                  set_display(show[i],'');                  set_display(show[i],'');
80          }          }
81            reset_changed();
82  }  }
83    
84  function hide_display(hide) {  function hide_display(hide) {
85          for (var i = 0; i < hide.length; i++) {          for (var i = 0; i < hide.length; i++) {
86                  set_display(hide[i],'none');                  set_display(hide[i],'none');
87          }          }
88            reset_changed();
89  }  }
90    
91  function show_hide_display(show,hide) {  function show_hide_display(show,hide) {

Legend:
Removed from v.15  
changed lines
  Added in v.16

  ViewVC Help
Powered by ViewVC 1.1.26