XoioX
Advanced Member | Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору Вот код: Цитата: <html> <head> <title>WOscripts.com - JavaScript - NewsMenu</title> <style type="text/css"> .clTopMenu {position:absolute; width:108px; height:240px; clip:rect(0px 108px 14px 0px); layer-background-color:#ffffff; background-color:#ffffff; z-index:31; visibility:hidden;} .clTopMenuBottom {position:absolute; width:108px; height:1px; clip:rect(0px 108px 1px 0px); top:11; layer-background-color:#cecfce; background-color:#cecfce; z-index:2;} .clTopMenuText {position:absolute; width:91px; left:5px; top:60px; font-family:arial,helvetica,sans-serif; font-size:11px; background-color:#ffffff; z-index:1;} </style> <script language="JavaScript" type="text/javascript"> function lib_bwcheck(){ //Browsercheck (needed) this.ver=navigator.appVersion this.agent=navigator.userAgent this.dom=document.getElementById?1:0 this.opera5=this.agent.indexOf("Opera 5")>-1 this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0; this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0; this.ie4=(document.all && !this.dom && !this.opera5)?1:0; this.ie=this.ie4||this.ie5||this.ie6 this.mac=this.agent.indexOf("Mac")>-1 this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0; this.ns4=(document.layers && !this.dom)?1:0; this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5) return this } var bw=new lib_bwcheck() nPlace=0 var nNumberOfMenus=0 var nMwidth=108 //The width on the menus (set the width in the stylesheet as well) var nPxbetween=20 //Pixels between the menus var nFromleft=10 //The first menus left position var nFromtop=100 //The top position of the menus var nBgcolor='#00CC33' //The bgColor of the bottom mouseover div var nBgcolorchangeto='#00CC33' //The bgColor to change to var nImageheight=60 //The position the mouseover line div will stop at when going up! /*************************************************************************** You shouldn't have to change anything below this ****************************************************************************/ //Object constructor function makeNewsMenu(obj,nest){ nest=(!nest) ? "":'document.'+nest+'.' this.css=bw.dom? document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+"document.layers." +obj):0; this.evnt=bw.dom? document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+"document.layers." +obj):0; this.scrollHeight=bw.ns4?this.css.document.height:this.evnt.offsetHeight this.moveIt=b_moveIt;this.bgChange=b_bgChange; this.slideUp=b_slideUp; this.slideDown=b_slideDown; this.clipTo=b_clipTo; this.obj = obj + "Object"; eval(this.obj + "=this") } //Objects methods // A unit of measure that will be added when setting the position of a layer. var px = bw.ns4||window.opera?"":"px"; function b_moveIt(x,y){this.x=x; this.y=y; this.css.left=this.x+px; this.css.top=this.y+px;} function b_bgChange(color){this.css.backgroundColor=color; this.css.bgColor=color; this.css.background=color;} function b_clipTo(t,r,b,l){ if(bw.ns4){this.css.clip.top=t; this.css.clip.right=r; this.css.clip.bottom=b; this.css.clip.left=l }else this.css.clip="rect("+t+"px "+r+"px "+b+"px "+l+"px)"; } function b_slideUp(ystop,moveby,speed,fn,wh){ if(!this.slideactive){ if(this.y>ystop){ this.moveIt(this.x,this.y-5); eval(wh) setTimeout(this.obj+".slideUp("+ystop+","+moveby+","+speed+",'"+fn+"','"+wh+"')",speed) }else{ this.slideactive=false; this.moveIt(0,ystop); eval(fn) } } } function b_slideDown(ystop,moveby,speed,fn,wh){ if(!this.slideactive){ if(this.y<ystop){ this.moveIt(this.x,this.y+5); eval(wh) setTimeout(this.obj+".slideDown("+ystop+","+moveby+","+speed+",'"+fn+"','"+wh+"')",speed) }else{ this.slideactive=false; this.moveIt(0,ystop); eval(fn) } } } //Initiating the page, making cross-browser objects function newsMenuInit(){ oTopMenu=new Array() zindex=10 for(i=0;i<=nNumberOfMenus;i++){ oTopMenu[i]=new Array() oTopMenu[i][0]=new makeNewsMenu('divTopMenu'+i) oTopMenu[i][1]=new makeNewsMenu('divTopMenuBottom'+i,'divTopMenu'+i) oTopMenu[i][2]=new makeNewsMenu('divTopMenuText'+i,'divTopMenu'+i) oTopMenu[i][1].moveIt(0,nImageheight) oTopMenu[i][0].clipTo(0,nMwidth,nImageheight+0,0) if(!nPlace) oTopMenu[i][0].moveIt(i*nMwidth+nFromleft+(i*nPxbetween),nFromtop) else{ oTopMenu[i][0].moveIt(nFromleft,i*nImageheight+nFromtop+(i*nPxbetween)) oTopMenu[i][0].css.zIndex=zindex-- } oTopMenu[i][0].css.visibility="visible" } } //Moves the menu function topMenu(num){ if(oTopMenu[num][1].y==nImageheight) oTopMenu[num][1].slideDown(oTopMenu[num][2].scrollHeight+20,10,40,'oTopMenu['+num+'][0].clipTo(0,nMwidth,oTopMenu['+num+'][1].y+1,0)','oTopMenu['+num+'][0].clipTo(0,nMwidth,oTopMenu['+num+'][1].y+1,0)') else if(oTopMenu[num][1].y==oTopMenu[num][2].scrollHeight+20) oTopMenu[num][1].slideUp(nImageheight,10,40,'oTopMenu['+num+'][0].clipTo(0,nMwidth,oTopMenu['+num+'][1].y+0,0)','oTopMenu['+num+'][0].clipTo(0,nMwidth,oTopMenu['+num+'][1].y+1,0)') } //Changes background onmouseover function menuOver(num){oTopMenu[num][1].bgChange(nBgcolorchangeto)} function menuOut(num){oTopMenu[num][1].bgChange(nBgcolor)} //Calls the init function onload if the browser is ok... if (bw.bw) onload = newsMenuInit; /*************** Multiple Scripts If you have two or more scripts that use the onload event, probably only one will run (the last one). Here is a solution for starting multiple scripts onload: 1. Delete or comment out all the onload assignments, onload=initScroll and things like that. 2. Put the onload assignments in the body tag like in this example, note that they must have braces (). Example: <body onload="initScroll(); initTooltips(); initMenu();"> **************/ </script> <!-- HEAD END HERE --> </head> <body bgcolor="#eeeeee" topmargin="0" leftmargin="0"> <!-- BODY START HERE --> <!-- Remember the "news" "key control" and "page contols" text are images, you probably want to change those with your own images. If your own images have different sizes please adjust the height and clips of the divs, and change the nImageheight variable in the script. Good luck --> <div id="divTopMenu0" class="clTopMenu"><a href="#" onmouseover="menuOver(0)" onmouseout="menuOut(0)" onclick="topMenu(0); return false;" onfocus="if(this.blur)this.blur();"><img src="images/menu_06.jpg" alt="" width="108" height="60" border="0"></a> <div id="divTopMenuText0" class="clTopMenuText"> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> RRRR<br> </div> <div id="divTopMenuBottom0" class="clTopMenuBottom"></div> </div> </body> </html> | Вопрос: Вот посмотрите , я применил этот скрипт меню, на http://mihastep.nm.ru/ (там в картиночном меню , пункт-«Прочая продукция»). Так вот, видите, там все кнопки в меню при наведении курсора меняют первоначальную картинку на другую, а та для которой сделано выпадающее меню(«Прочая продукция»), не меняется… Можно ли сделать так, чтобы и «Прочая продукция» менялась при наведении мышки ?. ПРОБОВАЛ, как в постах выше, чето не получается...
---------- Предлагают на https://floristum.ru - Доставка букетов день в день на дом, цветов по Москве. |
|