本帖最后由 mondi 于 2010-11-01 08:18:50 编辑

解决方案 »

  1.   

     id的唯一的标示, 你让其他也没别引用这个js了  这样不就好了吗
      

  2.   

    document.getElementById('aa').innerHTML = "<ul><li>abcdef</li><li>ghijklm</li><li>ghijklm</li></ul>"
    同理bb
    document.getElementById('bb').innerHTML = "<ul><li>abcdef</li><li>ghijklm</li><li>ghijklm</li></ul>"当然如果li中的数据是变量,你只要字符串拼接一下就好,不过用这种方法速度会慢一点,还有一种方法就是通过数组:
    var arr = [];
    arr.push("<ul><li>");
    arr.push(value1); //这里我就写一项,其余同理,多的话你就可以用for
    arr.push("</li></ul>")document.getElementById('aa').innerHTML = arr join("");
      

  3.   

    楼上朋友,十分感谢。可为什么提示我语法有错误呢?
    document.getElementById('aa').innerHTML ="<ul class="menu" id="menu">
          <li><a href="../chine/index.html" class="menulink">Chine</a>
            <ul>
              <li><a href="../chine/generalite.html">G&#233;n&#233;ralit&#233;</a></li>
              <li><a href="../chine/geographie.html">G&#233;ographie</a></li>
              <li><a href="../chine/histoire.html">Histoire</a></li>
              <li><a href="../chine/fetes_traditonnelles_chinoise/index.html">F&#234;tes traditonnelles</a></li>
              <li><a href="../chine/ethnies.html">Ethnies</a></li>
              <li><a href="../media_chinois/TV_en_direct/cctvfr.html">TV en fran&#231;ais</a></li>
    ......
      

  4.   

    提示什么错误
    document.getElementById('aa').innerHTML ="(这里要用单引号,因为你在字符串里面有用到双引号例如"menu"等等)<ul class="menu" id="menu">
          <li><a href="../chine/index.html" class="menulink">Chine</a>
            <ul>
              <li><a href="../chine/generalite.html">G&#233;n&#233;ralit&#233;</a></li>
              <li><a href="../chine/geographie.html">G&#233;ographie</a></li>
              <li><a href="../chine/histoire.html">Histoire</a></li>
              <li><a href="../chine/fetes_traditonnelles_chinoise/index.html">F&#234;tes traditonnelles</a></li>
              <li><a href="../chine/ethnies.html">Ethnies</a></li>
              <li><a href="../media_chinois/TV_en_direct/cctvfr.html">TV en fran&#231;ais</a></li>
    ......
    而且同一个字符串不能换行的,不过js里面有提供一种方法在行尾加\,例如
    document.getElementById('aa').innerHTML ="<ul class="menu" id="menu">\(这里加)
          <li><a href="../chine/index.html" class="menulink">Chine</a>
      

  5.   

    最后一个问题,也是真巧,我把第一个单引号一改,好家伙。在后面的语句中正好有一个Mary's,结果后面所有的都无法生效了。
      

  6.   

    这是菜单的代码var menu=function(){
    var t=15,z=50,s=6,a;
    function dd(n){this.n=n; this.h=[]; this.c=[]}
    dd.prototype.init=function(p,c){
    a=c; var w=document.getElementById(p), s=w.getElementsByTagName('ul'), l=s.length, i=0;
    for(i;i<l;i++){
    var h=s[i].parentNode; this.h[i]=h; this.c[i]=s[i];
    h.onmouseover=new Function(this.n+'.st('+i+',true)');
    h.onmouseout=new Function(this.n+'.st('+i+')');
    }
    }
    dd.prototype.st=function(x,f){
    var c=this.c[x], h=this.h[x], p=h.getElementsByTagName('a')[0];
    clearInterval(c.t); c.style.overflow='hidden';
    if(f){
    p.className+=' '+a;
    if(!c.mh){c.style.display='block'; c.style.height=''; c.mh=c.offsetHeight; c.style.height=0}
    if(c.mh==c.offsetHeight){c.style.overflow='visible'}
    else{c.style.zIndex=z; z++; c.t=setInterval(function(){sl(c,1)},t)}
    }else{p.className=p.className.replace(a,''); c.t=setInterval(function(){sl(c,-1)},t)}
    }
    function sl(c,f){
    var h=c.offsetHeight;
    if((h<=0&&f!=1)||(h>=c.mh&&f==1)){
    if(f==1){c.style.filter=''; c.style.opacity=1; c.style.overflow='visible'}
    clearInterval(c.t); return
    }
    var d=(f==1)?Math.ceil((c.mh-h)/s):Math.ceil(h/s), o=h/c.mh;
    c.style.opacity=o; c.style.filter='alpha(opacity='+(o*100)+')';
    c.style.height=h+(d*f)+'px'
    }
    return{dd:dd}
    }();