把英文换成汉字就不会滚动了

解决方案 »

  1.   

    <!doctype html public "-//W3C//DTD HTML 4.0 Transitional//EN">
    <html>
    <head>
    <title> Menu </title>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <meta http-equiv="Content-Language" content="zh-cn">
    <style type="text/css" title="">
    body{font:10pt;}
    #menu{
    width:180px;
    height:80px;
    overflow:hidden;
    }
    #menu div{
    border-left:1px solid silver;
    margin:2px;
    text-align:center;
    cursor: default;
    }
    #scrollleft,#scrollright{
    position: absolute;
    top:3px;
    width:18px;
    background-color:white;
    left:0;
    filter: alpha(opacity=0,finishopacity=100,style=1,startx=100,finishx=100,starty=0,finishy=100);
    }
    #scrollleft{right:0;filter: alpha(opacity=100,finishopacity=0,style=1,startx=100,finishx=100,starty=0,finishy=100);}
    </style>
    </head><body>
    <div style="width:0px;height:0px;border:1px solid black;padding:3px;writing-mode:tb-rl;position: relative;">
    <div id="menu" onMouseWheel="step=event.wheelDelta;overit=1;Marquee(Math.abs(step)/step);overit=0" onMouseOver="this.focus();" onmouseout="overit=0;">
    <div>关关雎鸠</div>
    <div>在河之洲</div>
    <div>窈窕淑女</div>
    <div>君子好逑</div>
    <div>参差荇菜</div>
    <div>左右流之</div>
    <div>窈窕淑女</div>
    <div>寤寐求之</div>
    <div>-----</div>
    </div>
    <div id="scrollright" onmouseover="overit=1;Marquee(-1)" onmouseout="overit=0;"></div>
    <div id="scrollleft" onmouseover="overit=1;Marquee(1)" onmouseout="overit=0;"></div>
    </div><script language="javascript" type="text/javascript">
    scrollleft.style.height=menu.offsetHeight;
    scrollright.style.height=menu.offsetHeight;var str=menu.innerHTML;
    var d_scrollWidth=menu.scrollWidth;
    var d_childWidth=menu.firstChild.offsetWidth+1;
    var count=0;
    var flag=1;
    var overit=0;
    var MyMar;while(menu.offsetWidth>menu.scrollWidth)menu.innerHTML+=str;
    menu.innerHTML+=str;function Marquee(dir){if(flag&&overit){flag=0;count=0;MyMar=setInterval('Marquee2('+dir+')',10);}}function Marquee2(dir){
    if(flag)return;
    if(d_scrollWidth<=(menu.scrollWidth-menu.offsetWidth-menu.scrollLeft)&&dir==-1){menu.scrollLeft=menu.scrollWidth-menu.offsetWidth-2;}
    if(menu.scrollWidth-menu.offsetWidth-menu.scrollLeft<1&&dir==1)menu.scrollLeft=menu.scrollWidth-menu.offsetWidth-d_scrollWidth+2;
    menu.scrollLeft+=dir;
    if(d_childWidth-count)count++;
    else{
    clearInterval(MyMar);
    flag=1;
    Marquee(dir);
    }
    }
    </script></body>
    </html>