vb.org Archive

vb.org Archive (https://vborg.vbsupport.ru/index.php)
-   vB3 Programming Discussions (https://vborg.vbsupport.ru/forumdisplay.php?f=15)
-   -   Javascript Code Help (https://vborg.vbsupport.ru/showthread.php?t=173964)

AbercrombieAron 03-23-2008 10:29 PM

Javascript Code Help
 
I'm looking to remove the menu_open.gif from the dropdowns, but JS is not my strong point.

Can somebody with a better understanding please help me to alter the script.

Thanks in advance.

Code:

/*======================================================================*\
|| #################################################################### ||
|| # vBulletin 3.7.0 Release Candidate 1
|| # ---------------------------------------------------------------- # ||
|| # Copyright ?2000-2008 Jelsoft Enterprises Ltd. All Rights Reserved. ||
|| # This file may not be redistributed in whole or significant part. # ||
|| # ---------------- VBULLETIN IS NOT FREE SOFTWARE ---------------- # ||
|| # http://www.vbulletin.com | http://www.vbulletin.com/license.html # ||
|| #################################################################### ||
\*======================================================================*/
vBulletin.add_event("vBmenuShow");vBulletin.add_event("vBmenuHide");function vB_Popup_Handler(){this.open_steps=10;this.open_fade=false;this.active=false;this.menus=new Array();this.activemenu=null}vB_Popup_Handler.prototype.activate=function(A){this.active=A;console.log("vBmenu :: System Activated")};vB_Popup_Handler.prototype.register=function(D,A,C){this.menus[D]=new vB_Popup_Menu(D,A,C);var B=YAHOO.util.Dom.get("usercss");if(B&&YAHOO.util.Dom.isAncestor(B,D)){this.menus[D].imgsrc=IMGDIR_MISC+"/menu_open_usercss.gif"}this.menus[D].startup();return this.menus[D]};vB_Popup_Handler.prototype.hide=function(){if(this.activemenu!=null){this.menus[this.activemenu].hide()}};var vBmenu=new vB_Popup_Handler();function vbmenu_hide(A){if(A&&A.button&&A.button!=1&&A.type=="click"){return true}else{vBmenu.hide()}}function vB_Popup_Menu(C,A,B){this.controlkey=C;this.noimage=A;this.noslide=B;this.menuname=this.controlkey.split(".")[0]+"_menu";this.imgsrc=IMGDIR_MISC+"/menu_open.gif"}vB_Popup_Menu.prototype.startup=function(){this.init_control(this.noimage);if(fetch_object(this.menuname)){this.init_menu()}this.slide_open=(this.noslide?false:true);this.open_steps=vBmenu.open_steps;vBulletin.add_event("vBmenuShow_"+this.controlkey);vBulletin.add_event("vBmenuHide_"+this.controlkey)};vB_Popup_Menu.prototype.init_control=function(A){this.controlobj=fetch_object(this.controlkey);this.controlobj.state=false;if(this.controlobj.firstChild&&(this.controlobj.firstChild.tagName=="TEXTAREA"||this.controlobj.firstChild.tagName=="INPUT")){}else{if(!A&&!(is_mac&&is_ie)){var C=document.createTextNode(" ");this.controlobj.appendChild(C);var B=document.createElement("img");B.src=this.imgsrc;B.border=0;B.title="";B.alt="";this.img=this.controlobj.appendChild(B)}this.controlobj.unselectable=true;if(!A){this.controlobj.style.cursor=pointer_cursor}this.controlobj.onclick=vB_Popup_Events.prototype.controlobj_onclick;this.controlobj.onmouseover=vB_Popup_Events.prototype.controlobj_onmouseover}};vB_Popup_Menu.prototype.init_menu=function(){this.menuobj=fetch_object(this.menuname);this.select_handler=new vB_Select_Overlay_Handler(this.menuobj);if(this.menuobj&&!this.menuobj.initialized){this.menuobj.initialized=true;this.menuobj.onclick=e_by_gum;this.menuobj.style.position="absolute";this.menuobj.style.zIndex=50;if(is_ie&&!is_mac){if(!is_ie7){this.menuobj.style.filter+="alpha(enabled=1,opacity=100)"}else{this.menuobj.style.minHeight="1%"}}this.init_menu_contents()}};vB_Popup_Menu.prototype.init_menu_contents=function(){var E=new Array("td","li");for(var D=0;D<E.length;D++){var H=fetch_tags(this.menuobj,E[D]);for(var F=0;F<H.length;F++){if(H[F].className=="vbmenu_option"){if(H[F].title&&H[F].title=="nohilite"){H[F].title=""}else{H[F].controlkey=this.controlkey;H[F].onmouseover=vB_Popup_Events.prototype.menuoption_onmouseover;H[F].onmouseout=vB_Popup_Events.prototype.menuoption_onmouseout;var C=fetch_tags(H[F],"a");if(C.length==1){H[F].className=H[F].className+" vbmenu_option_alink";H[F].islink=true;var B=C[0];var A=false;H[F].target=B.getAttribute("target");if(typeof B.onclick=="function"){H[F].ofunc=B.onclick;H[F].onclick=vB_Popup_Events.prototype.menuoption_onclick_function;A=true}else{if(typeof H[F].onclick=="function"){H[F].ofunc=H[F].onclick;H[F].onclick=vB_Popup_Events.prototype.menuoption_onclick_function;A=true}else{H[F].href=B.href;H[F].onclick=vB_Popup_Events.prototype.menuoption_onclick_link}}if(A){var G=document.createElement("a");G.innerHTML=B.innerHTML;G.href="#";G.onclick=function(I){I=I?I:window.event;I.returnValue=false;return false};H[F].insertBefore(G,B);H[F].removeChild(B)}}else{if(typeof H[F].onclick=="function"){H[F].ofunc=H[F].onclick;H[F].onclick=vB_Popup_Events.prototype.menuoption_onclick_function}}}}}}};vB_Popup_Menu.prototype.show=function(B,A){if(!vBmenu.active){return false}else{if(!this.menuobj){this.init_menu()}}if(!this.menuobj||vBmenu.activemenu==this.controlkey){return false}console.log("vBmenu :: Show '%s'",this.controlkey);if(vBmenu.activemenu!=null&&vBmenu.activemenu!=this.controlkey){vBmenu.menus[vBmenu.activemenu].hide()}vBmenu.activemenu=this.controlkey;this.menuobj.style.display="";if(this.slide_open){this.menuobj.style.clip="rect(auto, 0px, 0px, auto)"}this.set_menu_position(B);if(!A&&this.slide_open){this.intervalX=Math.ceil(this.menuobj.offsetWidth/this.open_steps);this.intervalY=Math.ceil(this.menuobj.offsetHeight/this.open_steps);this.slide((this.direction=="left"?0:this.menuobj.offsetWidth),0,0)}else{if(this.menuobj.style.clip&&this.slide_open){this.menuobj.style.clip="rect(auto, auto, auto, auto)"}}this.select_handler.hide();if(this.controlobj.editorid){this.controlobj.state=true;vB_Editor[this.controlobj.editorid].menu_context(this.controlobj,"mousedown")}vBulletin.events["vBmenuShow_"+this.controlkey].fire(this.controlkey);vBulletin.events.vBmenuShow.fire(this.controlkey)};vB_Popup_Menu.prototype.set_menu_position=function(A){this.pos=this.fetch_offset(A);this.leftpx=this.pos.left;this.toppx=this.pos.top+A.offsetHeight;if((this.leftpx+this.menuobj.offsetWidth)>=document.body.clientWidth&&(this.leftpx+A.offsetWidth-this.menuobj.offsetWidth)>0){this.leftpx=this.leftpx+A.offsetWidth-this.menuobj.offsetWidth;this.direction="right"}else{this.direction="left"}if(this.controlkey.match(/^pagenav\.\d+$/)){A.appendChild(this.menuobj)}this.menuobj.style.left=this.leftpx+"px";this.menuobj.style.top=this.toppx+"px"};vB_Popup_Menu.prototype.hide=function(A){if(A&&A.button&&A.button!=1){return true}console.log("vBmenu :: Hide '%s'",this.controlkey);this.stop_slide();this.menuobj.style.display="none";this.select_handler.show();if(this.controlobj.editorid){this.controlobj.state=false;vB_Editor[this.controlobj.editorid].menu_context(this.controlobj,"mouseout")}vBmenu.activemenu=null;vBulletin.events["vBmenuHide_"+this.controlkey].fire(this.controlkey);vBulletin.events.vBmenuHide.fire(this.controlkey)};vB_Popup_Menu.prototype.hover=function(A){if(vBmenu.activemenu!=null){if(vBmenu.menus[vBmenu.activemenu].controlkey!=this.id){this.show(A,true)}}};vB_Popup_Menu.prototype.slide=function(C,B,A){if(this.direction=="left"&&(C<this.menuobj.offsetWidth||B<this.menuobj.offsetHeight)){C+=this.intervalX;B+=this.intervalY;this.menuobj.style.clip="rect(auto, "+C+"px, "+B+"px, auto)";this.slidetimer=setTimeout("vBmenu.menus[vBmenu.activemenu].slide("+C+", "+B+", "+A+");",0)}else{if(this.direction=="right"&&(C>0||B<this.menuobj.offsetHeight)){C-=this.intervalX;B+=this.intervalY;this.menuobj.style.clip="rect(auto, "+this.menuobj.offsetWidth+"px, "+B+"px, "+C+"px)";this.slidetimer=setTimeout("vBmenu.menus[vBmenu.activemenu].slide("+C+", "+B+", "+A+");",0)}else{this.stop_slide()}}};vB_Popup_Menu.prototype.stop_slide=function(){clearTimeout(this.slidetimer);this.menuobj.style.clip="rect(auto, auto, auto, auto)"};vB_Popup_Menu.prototype.fetch_offset=function(E){if(E.getBoundingClientRect){var C=E.getBoundingClientRect();var D=Math.max(document.documentElement.scrollTop,document.body.scrollTop);var F=Math.max(document.documentElement.scrollLeft,document.body.scrollLeft);if(document.documentElement.dir=="rtl"){F=F+document.documentElement.clientWidth-document.documentElement.scrollWidth}return{left:C.left+F,top:C.top+D}}var B=E.offsetLeft;var A=E.offsetTop;while((E=E.offsetParent)!=null){B+=E.offsetLeft;A+=E.offsetTop}return{left:B,top:A}};function vB_Popup_Events(){}vB_Popup_Events.prototype.controlobj_onclick=function(A){if(typeof do_an_e=="function"){do_an_e(A);if(vBmenu.activemenu==null||vBmenu.menus[vBmenu.activemenu].controlkey!=this.id){vBmenu.menus[this.id].show(this)}else{vBmenu.menus[this.id].hide()}}};vB_Popup_Events.prototype.controlobj_onmouseover=function(A){if(typeof do_an_e=="function"){do_an_e(A);vBmenu.menus[this.id].hover(this)}};vB_Popup_Events.prototype.menuoption_onclick_function=function(A){this.ofunc(A);vBmenu.menus[this.controlkey].hide()};vB_Popup_Events.prototype.menuoption_onclick_link=function(A){A=A?A:window.event;if(A.shiftKey||(this.target!=null&&this.target!=""&&this.target.toLowerCase()!="_self")){if(this.target!=null&&this.target.charAt(0)!="_"){window.open(this.href,this.target)}else{window.open(this.href)}}else{window.location=this.href;return false}A.cancelBubble=true;if(A.stopPropagation){A.stopPropagation()}if(A.preventDefault){A.preventDefault()}vBmenu.menus[this.controlkey].hide();return false};vB_Popup_Events.prototype.menuoption_onmouseover=function(A){this.className="vbmenu_hilite"+(this.islink?" vbmenu_hilite_alink":"");this.style.cursor=pointer_cursor};vB_Popup_Events.prototype.menuoption_onmouseout=function(A){this.className="vbmenu_option"+(this.islink?" vbmenu_option_alink":"");this.style.cursor="default"};


briansol 03-24-2008 02:51 AM

change
this.imgsrc=IMGDIR_MISC+"/menu_open.gif"
to
this.imgsrc=/clear.gif"

AbercrombieAron 03-24-2008 12:05 PM

A actually tried something similar to this and it worked in FireFox but not IE.
Your method also breaks the DHTML.

AbercrombieAron 04-06-2008 12:20 PM

Just to bump this back up.

Any suggestions?

Lynne 04-06-2008 03:53 PM

Did you put in exactly what he wrote or add an extra quote like this:
this.imgsrc="/clear.gif"

(Also, that javascript is very difficult to read like that. You'd do better pasting in the non-compressed version.)

Lea Verou 06-22-2008 06:24 AM

For specific elements, you can add a second parameter of 1 to vbmenu_register() to remove the arrow ;)


All times are GMT. The time now is 09:15 PM.

Powered by vBulletin® Version 3.8.12 by vBS
Copyright ©2000 - 2025, vBulletin Solutions Inc.

X vBulletin 3.8.12 by vBS Debug Information
  • Page Generation 0.01044 seconds
  • Memory Usage 1,770KB
  • Queries Executed 10 (?)
More Information
Template Usage:
  • (1)ad_footer_end
  • (1)ad_footer_start
  • (1)ad_header_end
  • (1)ad_header_logo
  • (1)ad_navbar_below
  • (1)bbcode_code_printable
  • (1)footer
  • (1)gobutton
  • (1)header
  • (1)headinclude
  • (6)option
  • (1)post_thanks_navbar_search
  • (1)printthread
  • (6)printthreadbit
  • (1)spacer_close
  • (1)spacer_open 

Phrase Groups Available:
  • global
  • postbit
  • showthread
Included Files:
  • ./printthread.php
  • ./global.php
  • ./includes/init.php
  • ./includes/class_core.php
  • ./includes/config.php
  • ./includes/functions.php
  • ./includes/class_hook.php
  • ./includes/modsystem_functions.php
  • ./includes/class_bbcode_alt.php
  • ./includes/class_bbcode.php
  • ./includes/functions_bigthree.php 

Hooks Called:
  • init_startup
  • init_startup_session_setup_start
  • init_startup_session_setup_complete
  • cache_permissions
  • fetch_threadinfo_query
  • fetch_threadinfo
  • fetch_foruminfo
  • style_fetch
  • cache_templates
  • global_start
  • parse_templates
  • global_setup_complete
  • printthread_start
  • bbcode_fetch_tags
  • bbcode_create
  • bbcode_parse_start
  • bbcode_parse_complete_precache
  • bbcode_parse_complete
  • printthread_post
  • printthread_complete