| | |
Is my code wrong or is Opera?
Please support our JavaScript / DHTML / AJAX advertiser: PostgreSQL or MySQL? Compare and contrast the two most popular open source databases
![]() |
Hello everyone. A few weeks ago I finished programming a javascript drop down menu system for my website. When I had ironed out the bugs it worked fine in IE 6. Later I got Opera 9 on my computer and the menus don't work in it. In fact, my pages appear to "freeze" the javascript engine and no scripts on the page run (even ones that were there before I added the menu system). I also tried the pages in an app called Editplus 2. It is a text editor with a built in browser that will give details about Javascript errors on web pages (it found some on Daniweb). But no problem with my pages. I've included the script here:
You can find the whole pages on my homepage. So what do you think, am I stupid or is Opera? Any advice appriciated.
Steven.
javascript Syntax (Toggle Plain Text)
<script language="JavaScript" type="text/JavaScript"> <!-- function MM_preloadImages() { //v3.0 var d=document; if(d.images){ if(!d.MM_p) d.MM_p=new Array(); var i,j=d.MM_p.length,a=MM_preloadImages.arguments; for(i=0; i<a.length; i++) if (a[i].indexOf("#")!=0){ d.MM_p[j]=new Image; d.MM_p[j++].src=a[i];}} } function MM_swapImgRestore() { //v3.0 var i,x,a=document.MM_sr; for(i=0;a&&i<a.length&&(x=a[i])&&x.oSrc;i++) x.src=x.oSrc; } function MM_findObj(n, d) { //v4.01 var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) { d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);} if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n]; for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document); if(!x && d.getElementById) x=d.getElementById(n); return x; } function MM_swapImage() { //v3.0 var i,j=0,x,a=MM_swapImage.arguments; document.MM_sr=new Array; for(i=0;i<(a.length-2);i+=3) if ((x=MM_findObj(a[i]))!=null){document.MM_sr[j++]=x; if(!x.oSrc) x.oSrc=x.src; x.src=a[i+2];} } function menu(flag_mouse, which_menu){ if (flag_mouse == 1) { if (which_menu == 0) { remove_menus(); } else if (which_menu == 1 && flag1 == 1) {a = 1}; else if (which_menu == 1 && flag1 != 1) { remove_menus(); flag1 = 1; document.getElementById("menu1").style.zIndex="3"; document.getElementById("menu1").style.visibility="visible"; } else if (which_menu == 2 && flag2 == 1) {a = 1}; else if (which_menu == 2 && flag2 != 1) { remove_menus(); } else if (which_menu == 3 && flag3 == 1) {a = 1}; else if (which_menu == 3 && flag3 != 1) { remove_menus(); } else if (which_menu == 4 && flag4 == 1) {a = 1}; else if (which_menu == 4 && flag4 != 1) { remove_menus(); flag4 = 1; document.getElementById("menu4").style.zIndex="3"; document.getElementById("menu4").style.visibility="visible"; } else if (which_menu == 5 && flag5 == 1) {a = 1}; else if (which_menu == 5 && flag5 != 1) { remove_menus(); } else if (which_menu == 6 && flag6 == 1) {a = 1}; else if (which_menu == 6 && flag6 != 1) { remove_menus(); } else if (which_menu == 7 && flag7 == 1) {a = 1}; else if (which_menu == 7 && flag7 != 1) { remove_menus(); flag7 = 1; document.getElementById("menu7").style.zIndex="3"; document.getElementById("menu7").style.visibility="visible"; }; } else if (flag_mouse == 0) { flag1 = 0; flag4 = 0; flag7 = 0; document.getElementById("menu1").style.zIndex="0"; document.getElementById("menu1").style.visibility="hidden"; document.getElementById("menu4").style.zIndex="0"; document.getElementById("menu4").style.visibility="hidden"; document.getElementById("menu7").style.zIndex="0"; document.getElementById("menu7").style.visibility="hidden"; }; } function remove_menus() { document.getElementById("menu1").style.zIndex="0"; document.getElementById("menu1").style.visibility="hidden"; document.getElementById("menu4").style.zIndex="0"; document.getElementById("menu4").style.visibility="hidden"; document.getElementById("menu7").style.zIndex="0"; document.getElementById("menu7").style.visibility="hidden"; flag1 = 0; flag4 = 0; flag7 = 0; } </script>
You can find the whole pages on my homepage. So what do you think, am I stupid or is Opera? Any advice appriciated.
Steven.
Last edited by Mushy-pea; Oct 31st, 2006 at 10:29 am.
The one question you should not ask when teaching a new language structure is "Do you understand?". Do you understand?
To help troubleshoot this I would suggest removing portions of code until you are able to narrow it down to a small snippet that is causing the error. That will make troubleshooting much easier.
John Conde
Brainyminds | Merchant Account Services | I Love Code
IT'S HERE: Merchant Accounts 101 Everything you need to know about merchant accounts!
Brainyminds | Merchant Account Services | I Love Code
IT'S HERE: Merchant Accounts 101 Everything you need to know about merchant accounts!
![]() |
Similar Threads
- page doesnt load in opera and warning to IE users doesnt show help please? (PHP)
- help me with hangman. code wrong. (VB.NET)
- wrong output (C++)
- What's wrong here (C)
Other Threads in the JavaScript / DHTML / AJAX Forum
- Previous Thread: Form Problem
- Next Thread: How to have the div layer center on any browser?
Views: 1347 | Replies: 3
| Thread Tools | Search this Thread |
Tag cloud for JavaScript / DHTML / AJAX
acid2 ajax ajaxcode ajaxhelp animate array automatically autoplay beta boarder box bug button calendar captcha card cart codes column cookies createrange() css cursor date debugger decimal design developer dom download dropdown element enter error events firefox firehose flash focus form frameworks getselection google gwt html htmlform iframe image() index java javascript javascripts jawascriptruntimeerror jquery jsp listbox maps marquee masterpage menu microsoft mimic mp3 mp4 offline onmouseover parameters php player post problem programming progressbar prototype rating redirect regex safari scale scriptlets search select size sources sql starrating text textarea toggle twitter validation variables w3c web website window windowofwords windowsxp xml xspf






