при нажатии на кнопку должно появляться меню поиска .... я абсолютный нуб в JS ... но мне на данный момент срочно надо исправить эту проблему с картинкой.
картинка вставляется тут
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(YAHOO.env.ua.ie<7){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}}}}if(H[F].title=="nohilite"){H[F].title=""}}}};
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;
A.cancelBubble=true;
if(A.stopPropagation){A.stopPropagation()}if(A.preventDefault){A.preventDefault()}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}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"};
помогите пожалста ..... не могу загружать фалы JS .... пришлось вставлять код
ориентировочно проблема тут
{this.menus[D].imgsrc=IMGDIR_MISC+"/menu_open_usercss.gif"}
Спустя 1 минута, 17 секунд (22.07.2010 - 16:46) inpost написал(а):
оформи его нормально!!!
Спустя 1 минута, 1 секунда (22.07.2010 - 16:47) Gussarah написал(а):
как нормально? он такой и был ... это из Vbulletina я вообще ничего не менял
Спустя 2 минуты, 29 секунд (22.07.2010 - 16:49) inpost написал(а):
Ну что могу сказать, тогда не смогу помочь, я не умею читать длинные коды в одну строчку...
Спустя 9 минут, 47 секунд (22.07.2010 - 16:59) Gussarah написал(а):
так?
Спустя 6 минут, 23 секунды (22.07.2010 - 17:06) sergeiss написал(а):
Gussarah - атыпробовалкогда-нибудьчитатьтекствтакомвиде?Этооченьинтересно,наверно?Попробуйнепростопрочитать,аещеибыстропрочитатьипонять,чтотутнаписано.
Спустя 58 секунд (22.07.2010 - 17:07) Gussarah написал(а):
я же исправил вроде

Спустя 3 часа, 37 минут, 4 секунды (22.07.2010 - 20:44) ApuktaChehov написал(а):
где?
Спустя 2 часа, 16 минут, 20 секунд (22.07.2010 - 23:00) sergeiss написал(а):
Цитата (Gussarah @ 22.07.2010 - 18:07) |
я же исправил вроде |
Ну вот смотри. Есть строка (у тебя)
if(vBmenu.activemenu==null||
vBmenu.menus[vBmenu.activemenu].controlkey!=this.id){vBmenu.menus[this.id].show(this)}else{vBmenu.menus[this.id].hide()}}};
Без 100 грамм не разберешься, что к чему.
И сравни вот с этим (тот же код, только отформатирован):
if(vBmenu.activemenu==null|| vBmenu.menus[vBmenu.activemenu].controlkey!=this.id)
{vBmenu.menus[this.id].show(this)}
else
{vBmenu.menus[this.id].hide()}}};
Чувствуешь разницу? Но это же ведь не в одном месте, а во всём коде!!! Вот поэтому никто и не хочет в нем разбираться. Потому что он воспринимается как сплошной поток. Да и в любом случае много кода. Неинтересно его "ковырять"

Спустя 21 минута, 36 секунд (22.07.2010 - 23:22) inpost написал(а):
sergeiss
Как раз только что выпил 100 грамм, взглянул,... неееее! НАДО ТОЧНО БОЛЬШЕ!!
Как раз только что выпил 100 грамм, взглянул,... неееее! НАДО ТОЧНО БОЛЬШЕ!!
Спустя 12 минут, 50 секунд (22.07.2010 - 23:34) sergeiss написал(а):
Цитата (inpost @ 23.07.2010 - 00:22) |
НАДО ТОЧНО БОЛЬШЕ!! |
На эту тему мне нравится стишок, был в подписи на одном форуме у знакомого

Цитата |
Умом Россию не понять, пока не выпито "ноль пять" А если выпито "ноль пять", то дело кажется не хитрым. Попытка больше понимать уже попахивает литром. |
Спустя 6 минут, 53 секунды (22.07.2010 - 23:41) inpost написал(а):
sergeiss Ты классный мужчинО
! Я тебя уважаю!

Спустя 7 часов, 28 минут, 59 секунд (23.07.2010 - 07:10) Basili4 написал(а):
ТС я тебе так скажу коментируй все строк где есть src
например
//B.src=this.imgsrc;
только не все сразу а по одной и смотри что будет картинка полюбому исчезнет как только она исчезла
рядом со строкой с scr будет нечто подобное var B=document.createElement("img");
вот эту строку коментирую но после этого у тебя скрипт работать не будет
коменть все строки где встречается переменая определяная после var в данном случае B
например
//B.src=this.imgsrc;
только не все сразу а по одной и смотри что будет картинка полюбому исчезнет как только она исчезла
рядом со строкой с scr будет нечто подобное var B=document.createElement("img");
вот эту строку коментирую но после этого у тебя скрипт работать не будет
коменть все строки где встречается переменая определяная после var в данном случае B