需要写个滑动展开折叠的效果,搜索到无忧脚本的一篇贴子,稍加修改了下使其在FF也可应用,代码如下:
以下是引用片段: <script type="text/javascript"> //Url: http://bbs.51js.com/thread-61646-1-1.html //Author: 风云突变 //Modify: 枫岩 var act; function over(s,nMax){ var obj=document.getElementById(s); var h = parseInt(obj.offsetHeight); if (h < nMax){ obj.style.height = (h + 2)+"px"; clearTimeout(act); act = setTimeout("over('"+s+"',"+nMax+")", 10); } } function out(s,nMin){ var obj=document.getElementById(s); var h = parseInt(obj.offsetHeight); if (h > nMin){ obj.style.height = (h - 2)+"px"; clearTimeout(act); act = setTimeout("out('"+s+"',"+nMin+")", 10); } } </script> < div id="mytd" οnmοuseοver="over('mytd',200);" οnmοuseοut="out('mytd',30); " style="background:#eee;">代码实例:层的滑动展开/折叠</div> |
无忧网友 fangxiao9159 再次优化后:
以下是引用片段: <script type="text/javascript"> var intervalId = null; function move(id,state){ var obj = document.getElementById(id); if(intervalId != null) window.clearInterval(intervalId); function change(){ var h = parseInt(obj.offsetHeight); obj.style.height = (state == "down") ? (h + 2) : (h - 2); } intervalId = window.setInterval(change,10); } </script> <table border="1" cellpadding="0" cellspacing="0" id="mytd" οnmοuseοver="move('mytd','down');" οnmοuseοut="move('mytd','out');"> <tr><td>无忧脚本 - 风云突变</td></tr></table> |