一个轻巧又好用的脚本,修改起来很简单,li标签里面不加图片加文字也可以。自己重新弄了个demo测试了一下,效果还不错。
发觉其实JS的一些小巧的动态脚本也是可以给做网页设计者带来灵感的,一些平面化的东西做太多思维容易被局限住,有时有点动感,给你的用户一点“反应”,也是件不错的事。当然一切还是要从实际需求出发,单纯为了视觉效果不是本人迷恋和追求的东西。
<!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=gb2312" /> <title>1KB的横向滑动菜单JS脚本</title> <style type="text/css"> ul{margin:20px;padding:0;} .sm {list-style:none; width:350px; height:32px; display:block; overflow:hidden} .sm li {float:left; display:inline; overflow:hidden} </style> </head> <body οnlοad="slideMenu.build('sm',140,10,10,1)"> <ul id="sm" class="sm"> <li><img src="http://www.cargoo.net/p/x/images/1.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/2.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/3.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/4.gif" alt="" /></li> </ul> </body> </html> [Ctrl+A 全部选择 提示:你可先修改部分代码,再按运行]
脚本部分:
Code var slideMenu=function(){ var sp,st,t,m,sa,l,w,sw,ot; return{ build:function(sm,sw,mt,s,sl,h){ sp=s; st=sw; t=mt; m=document.getElementById(sm); sa=m.getElementsByTagName('li'); l=sa.length; w=m.offsetWidth; sw=w/l; ot=Math.floor((w-st)/(l-1)); var i=0; for(i;i<l;i++){s=sa[i]; s.style.width=sw+'px'; this.timer(s)} if(sl!=null){m.timer=setInterval(function(){slideMenu.slide(sa[sl-1])},t)} }, timer:function(s){s.onmouseover=function(){clearInterval(m.timer);m.timer=setInterval(function(){slideMenu.slide(s)},t)}}, slide:function(s){ var cw=parseInt(s.style.width,'10'); if(cw<st){ var owt=0; var i=0; for(i;i<l;i++){ if(sa[i]!=s){ var o,ow; var oi=0; o=sa[i]; ow=parseInt(o.style.width,'10'); if(ow>ot){oi=Math.floor((ow-ot)/sp); oi=(oi>0)?oi:1; o.style.width=(ow-oi)+'px'} owt=owt+(ow-oi)}} s.style.width=(w-owt)+'px'; }else{clearInterval(m.timer)} } }; }();
html代码部分(CSS很简单,我合并在head标签里了):
Code <!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=gb2312" /><title>Horizontal Slide Menu</title><script type="text/javascript" src="http://www.cargoo.net/p/x/script/slidemenu.js"></script><style type="text/css"> ul{margin:20px;padding:0;} .sm {list-style:none; width:350px; height:32px; display:block; overflow:hidden} .sm li {float:left; display:inline; overflow:hidden} </style></head><body onload="slideMenu.build('sm',140,10,10,1)"><ul id="sm" class="sm"> <li><img src="http://www.cargoo.net/p/x/images/1.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/2.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/3.gif" alt="" /></li> <li><img src="http://www.cargoo.net/p/x/images/4.gif" alt="" /></li></ul></body></html>
原文地址:http://www.leigeber.com/2008/05/horizontal-javascript-accordion-menu/
原文demo下载
转载于:https://www.cnblogs.com/color-fever/archive/2008/10/23/1318069.html
相关资源:各显卡算力对照表!