在body里加如下代码.
如果你仍旧想改divTitle156的样式,那就修改一下showclasslist这个函数,或者新写一个函数加到body里来实现.
<body onmouseover='showClassList("div156",108);'>

解决方案 »

  1.   

    在body里加如下代码. 
    如果你仍旧想改divTitle156的样式,那就修改一下showclasslist这个函数,或者新写一个函数加到body里来实现. 
    <body onmouseover='hiddenList("div156",108,"none");'> 
      

  2.   

    方法都是有的
    body里加鼠标放下的时候改变他的样式
      

  3.   


    showClassList函数如何修改呢?
    在body中添加触发这个函数的事件?
      

  4.   


    我这个页面中所有的信息都是自动生成的,我不可能在body中添加对应的事件啊
      

  5.   

    下面的代码加到文档的任何位置.
    <script>
    function changeUi(){
     hiddenList("div156",108);
     var o = document.getElementById('divTitle156')
     o.className = o.className =="card_title_hidden"?"card_title_show":"card_title_hidden";'
    }
    document.onmouseover = 'changeUi();'
    </script>
      

  6.   

    添加 BODY 的 onmousemove 事件 来判断定位
      

  7.   


    http://www.mu0511.com:8080/1.aspx?t2=14&a=1 
    这个页面的信息只有一条,但一些页面中有30条,而且都是自动生成的层,上述代码只能解决静态的情况
      

  8.   

    myvicy 兄 能留下qq或msn吗?
    我想详细请教一下这个问题
      

  9.   

    <script>
    var curtObjid = null;//定义全局变量
    function changeUi(){
     hiddenList(curtObjid,108);
     var o = document.getElementById(curtObjid.replace("div","divTitle"))
    //貌似你的两个div的关系是中间多了title所以这么写了。
     o.className = o.className =="card_title_hidden"?"card_title_show":"card_title_hidden";'
    }
    document.onmouseover = 'changeUi();'
    </script>
    showClassList()函数更改如下
    //=======================================================
    //函数名称:showClassList()
    //函数功能:隐藏-显示级分类列表框(class_cnt1)
    //返 回 值:无
    //=======================================================
    function showClassList(objId,dHeight){
    curtObjid = objId
    var dHeight=dHeight
    //alert(getObject(objId).style.display);
       // 如果内容容器为不可见的display:none
       if(getObject(objId).style.display == "block"){ 
       // 如果内容容器为可见的display:block
           hiddenList(objId,dHeight); // 隐藏内容框       
       }
       else{ 
     displayList(objId,dHeight); // 显示内容框
     }
    }
      

  10.   

    <script> 
    var curtObjid = null;//定义全局变量 
    function changeUi(){ 
    if(curtObjid==null)return;
     hiddenList(curtObjid,108); 
     var o = document.getElementById(curtObjid.replace("div","divTitle")) 
    //貌似你的两个div的关系是中间多了title所以这么写了。 
     o.className = o.className =="card_title_hidden"?"card_title_show":"card_title_hidden";' 

    document.onmouseover = 'changeUi();' 
    </script> hiddenList更改如下
    // 隐藏列表框
    function hiddenList(objId,dHeight){
           var h = getObject(objId).offsetHeight; // 内容容器class_cnt1的初始高度(这时高度为:最大高度)
       var anim = function()
       {
         h -= 16; // 每次递减15像素
         
         if(h <= 5)
     {
                   getObject(objId).style.display="none"; // 内容容器不可见(当容器高度小于5px)
               //getObject('img'+ n).src="/static/img06/icon_open.gif";
               if(loop)
       {
       window.clearInterval(loop);
       }
             }
     
             else{
               getObject(objId).style.height = h + "px"; // // 容器高度不断的以20px递减 
             }
       }
         
       var loop = window.setInterval(anim,10); // 设置每2毫秒循环一次(每2毫秒,运行一次anim[容器的高度递减10px])
    curtObjid = null;
    }
    showClassList()函数更改如下 
    //======================================================= 
    //函数名称:showClassList() 
    //函数功能:隐藏-显示级分类列表框(class_cnt1) 
    //返 回 值:无 
    //======================================================= 
    function showClassList(objId,dHeight){ 
    curtObjid = objId 
    var dHeight=dHeight 
    //alert(getObject(objId).style.display); 
       // 如果内容容器为不可见的display:none 
       if(getObject(objId).style.display == "block"){  
       // 如果内容容器为可见的display:block 
           hiddenList(objId,dHeight); // 隐藏内容框        
       } 
       else{  
     displayList(objId,dHeight); // 显示内容框 
     } 
    }
      

  11.   

    myvicy 兄:
    问题依旧…… 能留下qq或msn吗?
    我想详细请教一下这个问题
      

  12.   

    原理就是全局变量记录当前mouseover时显示的div的id,然后当鼠标移动到body上时,再把它隐藏了。你把上面的代码看懂了,完全可以自己写出来的.
      

  13.   

    另:测试环境:ie6.0 、ff2.0
      

  14.   

    晕,写错了,这句话document.onmouseover = 'changeUi();' 要改成document.onmouseover = changeUimyvicy 兄的方法可行,但有大量信息时,全局变量无法存储更多的元素,还有就是当前存储的标题背景会不断变化…… 很怪异的说……
      

  15.   

    function showClassList(objId,dHeight){ 
    //加一句.
    if(curtObjid)getObject(curtObjid).style.display="none"
    curtObjid = objId 
    var dHeight=dHeight 
    //alert(getObject(objId).style.display); 
       // 如果内容容器为不可见的display:none 
       if(getObject(objId).style.display == "block"){  
       // 如果内容容器为可见的display:block 
           hiddenList(objId,dHeight); // 隐藏内容框        
       } 
       else{  
     displayList(objId,dHeight); // 显示内容框 
     } 
     status = curtObjid
    }
      

  16.   

    status = curtObjid 这一句中 status是全局变量吗?试过21楼的代码,效果没有改善啊
      

  17.   

    另:之前代用到的document.onmouseover 事件好像有范围限制,尤其在ff下感觉常常不管用
      

  18.   

    不用考虑到那么精密吧? 用户会经常那么快速滑动鼠标吗?如果需要考虑那么精密那么浏览器也不用那么反映慢了。因为代码明明写了但是它不去执行而已.用setInterval定时判断鼠标位置和每个div...只讲到这里了。
      

  19.   

    下班了,明天上午结帐,
    myvicy兄留下个联系方法呢,这个还要请教
      

  20.   

    帮你整理个简单点儿的
    <script>
    var mo
    function $(o){return document.getElementById(o)}
    function getxy(o){l=o.offsetLeft;t=o.offsetTop;w=o.offsetWidth;h=o.offsetHeight;while(o=o.offsetParent){l+=o.offsetLeft;t+=o.offsetTop}return [l,t,w,h]}
    function syswin(obj,str,xpos,ypos){
      if(!xpos)xpos=0;if(!ypos)ypos=0//偏移
      id='syswin';o=$(id)
      if(!o){
        o=document.createElement('div');o.id=id
        document.body.appendChild(o)
      }
      o.style.position='absolute';o.innerHTML=str
      o.onmouseout=obj.onmouseout=function(){
        clearTimeout(mo)
        mo=setTimeout('document.body.removeChild($(\''+id+'\'))',500)
      }
    o.onmouseover=function(){clearTimeout(mo)}
      clearTimeout(mo);p=getxy(obj)
      o.style.left=p[0]+xpos+'px'
      o.style.top=p[1]+p[3]+'px'
    }
    </script>
    1111111<br>1111
    <a onmouseover="syswin(this,'浮动层内容');return false" href="">鼠标放在这儿</a>