页面有2个触发效果,但2个JS文件都有getElementById ,效果是出来了,但是左下角一直提示错误。应该是getElementById冲突。。应该怎么办呢

解决方案 »

  1.   

    <script type="text/javascript">
    function $(obj) {
    return (document.getElementById(obj))
    }
    function turn(n,m,x){
    for(i=1;i<=m;i++){
    if(i==n){
    $('lm'+x+'_'+i).className="now"
    $('content'+x+'_'+i).style.display=""
    }else{
    $('lm'+x+'_'+i).className=""
    $('content'+x+'_'+i).style.display="none"
    }
    }
    }
    </script>要实现我的效果需要2个调用,但我在页面写入2个效果是好的,但屏幕的左下角一直提示错误。为空或不是对象。但我删除一个就好了。
      

  2.   

    function turn(n,m,x){ 
    for(i=1;i <=m;i++){ 
    if(i==n){ 
    $('lm'+x+'_'+i).className="now" 
    $('content'+x+'_'+i).style.display="" 
    }else{ 
    $('lm'+x+'_'+i).className="" 
    $('content'+x+'_'+i).style.display="none" 



    有问题,估计是某个对象的id不对。
    可以将报错屏蔽,但建议楼主仔细查查。
    function turn(n,m,x){ 
    try{
    for(i=1;i <=m;i++){ 
    if(i==n){ 
    $('lm'+x+'_'+i).className="now" 
    $('content'+x+'_'+i).style.display="" 
    }else{ 
    $('lm'+x+'_'+i).className="" 
    $('content'+x+'_'+i).style.display="none" 


    }catch(e){}

      

  3.   

    很可能是没有取到对象,加入alert()语句看看
    for(i=1;i <=m;i++){
    alert(i+"===>"+$('lm'+x+'_'+i));
    alert(i+"===>"+$('content'+x+'_'+i));
    ....
    }
      

  4.   

    加一个var试试看
    for(var i=1;i<=m;i++) 
      

  5.   

    知道问题出在那了
    function $(obj) { 
    return (document.getElementById(obj)) 

      $(obj)这里不能用  $我在ASP环境下用  $就没问题,但在PHP环境下就不行了。。还不是熟悉。白忙活一上午。。