Title: Theme javascript causes errors
Last modified: August 19, 2016

---

# Theme javascript causes errors

 *  [tom5955](https://wordpress.org/support/users/tom5955/)
 * (@tom5955)
 * [15 years, 9 months ago](https://wordpress.org/support/topic/theme-javascript-causes-errors/)
 * Hey,
 * I’ve got my website [here](http://thinkingaboutforever.org) and its based on 
   the Monochrome theme by Mono-lab. My problem is the JavaScript that makes the
   dropdown menus seems to be bringing up some errors, which causes the menu bar
   to both defy all CSS and move to the left (it should be at the same height but
   on the right of the logo) and cause the dropdown menu to stop dropping down. 
   Here is the Javascript code from the section called dropdown menu:
 *     ```
       /*
       dropdown menu
       */
   
       var menu=function(){
       var t=15,z=50,s=6,a;
       function dd(n){this.n=n; this.h=[]; this.c=[]}
       dd.prototype.init=function(p,c){
       a=c; //Old code: var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
   
       var w=p, s=w.getElementsByTagName('ul'), l=s.length, i=0;
       for(i;i<l;i++){
       var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
       h.onmouseover=new Function(this.n+'.st('+i+',true)');
       h.onmouseout=new Function(this.n+'.st('+i+')');
       }
       }
       dd.prototype.st=function(x,f){
       var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
       clearInterval(c.t); c.style.overflow='hidden';
       if(f){
       p.className+=' '+a;
       if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
       if(c.mh==c.offsetHeight){c.style.overflow='visible'}
       else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
       }else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
       }
       function sl(c,f){
       var h=c.offsetHeight;
       if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
       if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
       clearInterval(c.t); return
       }
       var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
       c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
       c.style.height=h+(d*f)+'px'
       }
       return{dd:dd}
       }();
   
       document.getElementsByClassName = function (c, t) {
         t = this.getElementsByTagName(t ? t : "*");
         for (var i = 0, r = new Array(), l = t.length; i < l; i++)
           if (t[i].className == c)
             r[r.length] = t[i];
         return r;
       }
   
       var _Menus = new Array();
       function initializeDateDropDowns(){
       var box = document.getElementsByClassName('menu','ul');
       if (box.length > 0) {
       for(i = 0; i < box.length; i++) {
       var id = box[i];
       _Menus[i] = new menu.dd('_Menus[' + i + ']');
       _Menus[i].init(id,"menuhover");
       }
       }
       }
       window.onload = initializeDateDropDowns;
       ```
   
 * Safari web inspector tells me that two things are wrong:
 * > TypeError: Result of expression ‘w.getElementsByTagName’ [undefined] is not
   > a function.
   >  TypeError: Result of expression ‘menu.dd’ [undefined] is not a
   > constructor.
 * I have nearly no experience with Javascript so can’t really solve my problem.
   Any help would be fantastic.
 * Thanks,
    Tom

The topic ‘Theme javascript causes errors’ is closed to new replies.

## Tags

 * [javascript](https://wordpress.org/support/topic-tag/javascript/)

 * In: [Fixing WordPress](https://wordpress.org/support/forum/how-to-and-troubleshooting/)
 * 0 replies
 * 1 participant
 * Last reply from: [tom5955](https://wordpress.org/support/users/tom5955/)
 * Last activity: [15 years, 9 months ago](https://wordpress.org/support/topic/theme-javascript-causes-errors/)
 * Status: not resolved

## Topics

### Topics with no replies

### Non-support topics

### Resolved topics

### Unresolved topics

### All topics
