`
gaofen100
  • 浏览: 1191065 次
文章分类
社区版块
存档分类
最新评论

scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解

 
阅读更多

转自:http://blog.csdn.net/smartview/archive/2009/02/13/3887669.aspx

scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解

<script type="text/javascript"></script>

HTML:scrollLeft,scrollWidth,clientWidth,offsetWidth到底指的哪到哪的距离之完全详解



scrollHeight: 获取对象的滚动高度。

scrollLeft:设置或获取位于对象左边界和窗口中目前可见内容的最左端之间的距离

scrollTop:设置或获取位于对象最顶端和窗口中可见内容的最顶端之间的距离

scrollWidth:获取对象的滚动宽度

offsetHeight:获取对象相对于版面或由父坐标 offsetParent 属性指定的父坐标的高度

offsetLeft:获取对象相对于版面或由 offsetParent 属性指定的父坐标的计算左侧位置

offsetTop:获取对象相对于版面或由 offsetTop 属性指定的父坐标的计算顶端位置

event.clientX 相对文档的水平座标

event.clientY 相对文档的垂直座标



event.offsetX 相对容器的水平坐标

event.offsetY 相对容器的垂直坐标

document.documentElement.scrollTop 垂直方向滚动的值

event.clientX+document.documentElement.scrollTop 相对文档的水平座标+垂直方向滚动的量



  以上主要指IE之中,FireFox差异如下:

IE6.0、FF1.06+:

clientWidth = width + padding

clientHeight = height + padding

offsetWidth = width + padding + border

offsetHeight = height + padding + border

IE5.0/5.5:

clientWidth = width - border

clientHeight = height - border

offsetWidth = width

offsetHeight = height

(需要提一下:CSS中的margin属性,与clientWidth、offsetWidth、clientHeight、offsetHeight均无关)

下面是一个横向滚动应用:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  2. <htmlxmlns="http://www.w3.org/1999/xhtml">
  3. <head>
  4. <metahttp-equiv="Content-Type"content="text/html;charset=gb2312"/>
  5. <title>无标题文档</title>
  6. </head>
  7. <body>
  8. <divid="marquee_demo"style="overflow:auto;width:500px;text-align:center;border:1pxsolid#ccc">
  9. <tablecellspacing="0"cellpadding="3"align="center"border="0">
  10. <tr>
  11. <tdid="marquee_product1"valign="top">
  12. <tablewidth="800"height="100"border="0"cellpadding="0"cellspacing="0">
  13. <tr>
  14. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">1</td>
  15. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">2</td>
  16. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">3</td>
  17. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">4</td>
  18. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">5</td>
  19. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">6</td>
  20. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">7</td>
  21. <tdwidth="180"align="center"style="padding:3px15px3px15px;"mce_style="padding:3px15px3px15px;">8</td>
  22. </tr>
  23. </table>
  24. </td>
  25. <tdid="marquee_product2"valign="top"></td>
  26. </tr>
  27. </table>
  28. </div>
  29. <mce:scripttype="text/javascript"><!--
  30. varspeed=30;
  31. document.getElementById("marquee_demo").scrollLeft=0;
  32. /*marquee_product2=document.getElementById('marquee_product2');
  33. marquee_product1=document.getElementById('marquee_product1');
  34. marquee_demo=document.getElementById('marquee_demo');*/
  35. //alert(document.getElementById("marquee_demo").scrollLeft);
  36. //alert(document.getElementById("marquee_product1").scrollWidth);
  37. document.getElementById("marquee_product2").innerHTML=document.getElementById("marquee_product1").innerHTML;
  38. //document.getElementById("marquee_product1").innerHTML+=document.getElementById("marquee_product1").innerHTML;
  39. functionMarquee(){
  40. if(document.getElementById("marquee_demo").scrollLeft>=document.getElementById("marquee_product1").scrollWidth){
  41. document.getElementById("marquee_demo").scrollLeft=0;
  42. }
  43. else{
  44. document.getElementById("marquee_demo").scrollLeft++;
  45. }
  46. }
  47. varMyMar=setInterval(Marquee,speed);
  48. document.getElementById("marquee_demo").onmouseover=function(){clearInterval(MyMar);}
  49. document.getElementById("marquee_demo").onmouseout=function(){MyMar=setInterval(Marquee,speed);}
  50. //--></mce:script>
  51. </body>
  52. </html>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics