home | create | search | help
  1. <script type="text/javascript">
  2. //<![CDATA[
  3. var boardPreview = {
  4.     link:    new Array(),
  5.     preview: new Array(),
  6.     board:   {},
  7.  
  8.     init: function(obj) {
  9.         /* get board position */
  10.         this.board.top = obj.offsetTop;
  11.         this.board.left = obj.offsetLeft;
  12.  
  13.         /* get link elements */
  14.         this.link = this.getElements(obj.getElementsByTagName("a"));
  15.        
  16.         /* get preview elements */
  17.         this.preview = this.getElements(obj.getElementsByTagName("blockquote"));
  18.  
  19.         /* set event at link element */
  20.         for(i = 0; i < this.link.length; i ++) {
  21.             this.link[i].id = "link-" + i;
  22.             this.link[i].onmouseover = this.view;
  23.             this.link[i].onmouseout  = this.hide;
  24.         }
  25.  
  26.         /* set preview element */
  27.         for(i = 0; i < this.preview.length; i ++) {
  28.             this.preview[i].id = "preview-" + i;
  29.             this.preview[i].style.display = "none";
  30.         }
  31.     },
  32.     view: function() {
  33.         linkObj  = document.getElementById(this.id);
  34.         previewObj  = document.getElementById(this.id.replace("link", "preview"));
  35.  
  36.         linkPos_x   = linkObj.parentNode.offsetLeft;
  37.         linkPos_y   = linkObj.parentNode.offsetTop;
  38.    
  39.         previewObj.style.top     = boardPreview.board.top + linkPos_y + 20"px";
  40.         previewObj.style.left    = boardPreview.board.left + linkPos_x + 10 + "px";
  41.         previewObj.style.display = "block";
  42.  
  43.         //var log = document.getElementById("log");
  44.         //log.innerHTML = linkPos_x + " " + linkPos_y + " " + boardPreview.board.top + " " + boardPreview.board.left;
  45.     },
  46.     hide: function() {
  47.         previewObj  = document.getElementById(this.id.replace("link", "preview"));
  48.         previewObj.style.display = "none";
  49.     },
  50.     getElements: function(obj) {
  51.         tmp = new Array();
  52.         j = 0;
  53.        
  54.         for(i = 0; i < obj.length; i ++) {
  55.             if(obj[i].className != "preview") continue;
  56.             tmp[j] = obj[i];
  57.             j ++;
  58.         }
  59.  
  60.         return tmp;
  61.     }
  62. }
  63. //]]>
  64. </script>
  65.  
Subscribe to this code! Get Firefox! Valid XHTML Valid CSS Powered By GeSHi 374 pieces of code saved