Rumah >hujung hadapan web >tutorial js >js melaksanakan kod kesan menu gelongsor klik tetikus di penjuru kiri sebelah atas
Artikel ini terutamanya memperkenalkan kod js untuk melaksanakan kesan menu gelongsor di sudut kiri atas tetikus Ia melibatkan teknik JavaScript mengubah gaya elemen halaman secara dinamik Ia mempunyai nilai rujukan tertentu yang memerlukannya boleh merujuknya. Butirannya adalah seperti berikut:
Di sini anda perlu mengklik tetikus untuk mengaktifkan menu di sudut kiri atas halaman web. t kliknya Ia boleh diubah menjadi menu kedua.
Tangkapan skrin kesan berjalan adalah seperti berikut:
Alamat demo dalam talian adalah seperti berikut:
http: //demo.jb51.net/ js/2015/js-click-hd-show-menu-style-codes/
Kod khusus adalah seperti berikut:
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <title>左上角导航菜单</title> <style type="text/css"> #pMenu0 {position:absolute; top:0px; left:30px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;} #pMenu1 {position:absolute; top:0px; left:150px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;} #pMenu2 {position:absolute; top:0px; left:250px; visibility:hidden; font-family:arial,helvetica,sans-serif; font-size:18px; font-weight:bold;} </style> <script language="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() var tMove=10; var tSpeed=40 var tMoveOnScroll=true var tShow=20 function makeMenu(obj,nest,show,move,speed){ nest=(!nest) ? "":'document.'+nest+'.' this.el=bw.dom?document.getElementById(obj):bw.ie4?document.all[obj]:bw.ns4?eval(nest+'document.'+obj):0; this.css=bw.dom?document.getElementById(obj).style:bw.ie4?document.all[obj].style:bw.ns4?eval(nest+'document.'+obj):0; this.x=this.css.left||this.css.pixelLeft||this.el.offsetLeft||0 this.y=this.css.top||this.css.pixelTop||this.el.offsetTop||0 this.state=1; this.go=0; this.mup=b_mup; this.show=show; this.mdown=b_mdown; this.height=bw.ns4?this.css.document.height:this.el.offsetHeight this.moveIt=b_moveIt; this.move=move; this.speed=speed this.obj = obj + "Object"; eval(this.obj + "=this") } 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_mup(){ if(this.y>-this.height+this.show){ this.go=1; this.moveIt(this.x,this.y-this.move) setTimeout(this.obj+".mup()",this.speed) }else{this.go=0; this.state=1} } //Menu out function b_mdown(){ if(this.y<eval(scrolled)){ this.go=1; this.moveIt(this.x,this.y+this.move) setTimeout(this.obj+".mdown()",this.speed) }else{this.go=0; this.state=0} } function moveTopMenu(num){ if(!oMenu[num].go){ if(!oMenu[num].state)oMenu[num].mup() else oMenu[num].mdown() } for(i=0;i<oMenu.length;i++){ if(i!=num && !oMenu[i].state){ oMenu[i].mup()} } } function checkScrolled(){ for(i=0;i<oMenu.length;i++){ if(!oMenu[i].go){ y=!oMenu[i].state?eval(scrolled):eval(scrolled)-oMenu[i].height+oMenu[i].show oMenu[i].moveIt(oMenu[i].x,y) } } if(bw.ns4||bw.ns6) setTimeout('checkScrolled()',40) } function topMenuInit(){ oMenu=new Array() oMenu[0]=new makeMenu('pMenu0',"",tShow,tMove,tSpeed) oMenu[1]=new makeMenu('pMenu1',"",tShow,tMove,tSpeed) //* oMenu[2]=new makeMenu('pMenu2',"",20,10,20) //* scrolled=bw.ns4||bw.ns6?"window.pageYOffset":"document.body.scrollTop" for(i=0;i<oMenu.length;i++){ oMenu[i].moveIt(oMenu[i].x,-oMenu[i].height+oMenu[i].show) oMenu[i].css.visibility='visible' } if(tMoveOnScroll) bw.ns4||bw.ns6?checkScrolled():window.onscroll=checkScrolled; } onload=topMenuInit; </script> <p id="pMenu0"> <!-- You can just replace this text with some cool images if you want --> <a href="javascript://">链接一</a><br><br> <a href="javascript://">链接二</a><br><br> <a href="javascript://">链接三</a><br><br> <a href="javascript://">链接四</a><br><br> <a href="#" onclick="moveTopMenu(0); return false">菜单一</a> </p> <p id="pMenu1"> <!-- You can just replace this text with some cool images if you want --> 这是第二个菜单的内容<br><br> <a href="#" onmouseover="moveTopMenu(1)">菜单二</a> </p> <p id="pMenu2"> <!-- You can just replace this text with some cool images if you want --> 这是第三个菜单的内容<br> <a href="#" onclick="moveTopMenu(2); return false">菜单三</a> </p> </body> </html>
Di atas adalah keseluruhan kandungan bab ini, lebih berkaitan Untuk tutorial, sila lawati Tutorial Video JavaScript!