AJax¼¼Êõ

jsÖÐgetBoundingClientRectµÄ×÷Óü°¼æÈÝ·½°¸Ïê½â

×ÖºÅ+ ×÷ÕߣºH5Ö®¼Ò À´Ô´£ºH5Ö®¼Ò 2018-02-11 12:04 ÎÒÒªÆÀÂÛ( )

ÕâƪÎÄÕÂÖ÷Òª½éÉÜÁËjsÖÐgetBoundingClientRectµÄ×÷Óü°¼æÈÝ·½°¸Ïê½â£¬Ð¡±à¾õµÃͦ²»´íµÄ£¬ÏÖÔÚ·ÖÏí¸ø´ó¼Ò£¬Ò²¸ø´ó¼Ò×ö¸ö²Î¿¼¡£Ò»Æð¸úËæС±à¹ýÀ´¿´¿´°É

1¡¢getBoundingClientRectµÄ×÷ÓÃ

getBoundingClientRectÓÃÓÚ»ñȡij¸öhtmlÔªËØÏà¶ÔÓÚÊÓ´°µÄλÖü¯ºÏ¡£

Ö´ÐÐ object.getBoundingClientRect();»áµÃµ½ÔªËصÄtop¡¢right¡¢bottom¡¢left¡¢width¡¢heightÊôÐÔ£¬ÕâЩÊôÐÔÒÔÒ»¸ö¶ÔÏóµÄ·½Ê½·µ»Ø¡£

getBoundingClientRect()

Õâ¸ö·½·¨·µ»ØÒ»¸ö¾ØÐζÔÏ󣬰üº¬ËĸöÊôÐÔ£ºleft¡¢top¡¢rightºÍbottom¡£·Ö±ð±íʾԪËظ÷±ßÓëÒ³ÃæÉϱߺÍ×ó±ßµÄ¾àÀë¡£

var box=document.getElementById('box'); // »ñÈ¡ÔªËØ alert(box.getBoundingClientRect().top); // ÔªËØÉϱ߾àÀëÒ³ÃæÉϱߵľàÀë alert(box.getBoundingClientRect().right); // ÔªËØÓұ߾àÀëÒ³Ãæ×ó±ßµÄ¾àÀë alert(box.getBoundingClientRect().bottom); // ÔªËØϱ߾àÀëÒ³ÃæÉϱߵľàÀë alert(box.getBoundingClientRect().left); // ÔªËØ×ó±ß¾àÀëÒ³Ãæ×ó±ßµÄ¾àÀë

2.getBoundingClientRectÉÏÏÂ×óÓÒÊôÐÔÖµ½âÊÍ

Ö÷ÒªÊÇleftºÍbottomÒª½âÊÍһϣ¬leftÊÇÖ¸Óұߵ½Ò³Ãæ×î×ó±ßµÄ¾àÀ룬bottomÊÇÖ¸µ×±ßµ½Ò³Ã涥±ßµÄ¾àÀë¡£

¿´Í¼£º

 

js,getBoundingClientRect,×÷ÓÃ,¼æÈÝ·½°¸

3. ä¯ÀÀÆ÷¼æÈÝÐÔ

ie5ÒÔÉ϶¼ÄÜÖ§³Ö£¬µ«ÊÇÓÖÒ»µãµãµØ·½ÐèÒªÐÞÕýһϣ¬

IE67µÄleft¡¢top»áÉÙ2px,²¢ÇÒûÓÐwidth¡¢heightÊôÐÔ¡£

4¡¢ÀûÓÃgetBoundingClientRectÀ´Ð´Ò»¸ö»ñÈ¡htmlÔªËØÏà¶ÔÓÚÊÓ´°µÄλÖü¯ºÏµÄ·½·¨

<div id="test" style="width: 100px; height: 100px; background: #ddd;"></div> <script> function getObjXy(obj){ var xy = obj.getBoundingClientRect(); var top = xy.top-document.documentElement.clientTop+document.documentElement.scrollTop,//document.documentElement.clientTop ÔÚIE67ÖÐʼÖÕΪ2£¬ÆäËû¸ß¼¶µãµÄä¯ÀÀÆ÷Ϊ0 bottom = xy.bottom, left = xy.left-document.documentElement.clientLeft+document.documentElement.scrollLeft,//document.documentElement.clientLeft ÔÚIE67ÖÐʼÖÕΪ2£¬ÆäËû¸ß¼¶µãµÄä¯ÀÀÆ÷Ϊ0 right = xy.right, width = xy.width||right - left, //IE67²»´æÔÚwidth ʹÓÃright - left»ñµÃ height = xy.height||bottom - top; return { top:top, right:right, bottom:bottom, left:left, width:width, height:height } } var test = getObjXy(document.getElementById('test')); alert("top:" + test.top + ", right:" + test.right + ", bottom:" + test.bottom + ", left:" + test.left); </script>

ÒÔÉϾÍÊDZ¾ÎĵÄÈ«²¿ÄÚÈÝ£¬Ï£Íû¶Ô´ó¼ÒµÄѧϰÓÐËù°ïÖú£¬Ò²Ï£Íû´ó¼Ò¶à¶àÖ§³ÖASPKUÔ´Âë¿â¡£

¡¡

1.±¾Õ¾×ñÑ­ÐÐÒµ¹æ·¶£¬ÈκÎתÔصĸå¼þ¶¼»áÃ÷È·±ê×¢×÷ÕߺÍÀ´Ô´£»2.±¾Õ¾µÄÔ­´´ÎÄÕ£¬ÇëתÔØʱÎñ±Ø×¢Ã÷ÎÄÕÂ×÷ÕߺÍÀ´Ô´£¬²»×ðÖØÔ­´´µÄÐÐΪÎÒÃǽ«×·¾¿ÔðÈΣ»3.×÷ÕßͶ¸å¿ÉÄܻᾭÎÒÃDZ༭Ð޸Ļò²¹³ä¡£

Ïà¹ØÎÄÕÂ
  • ·ÖÏíJavaScript¼àÌýÈ«²¿AjaxÇëÇóʼþµÄ·½·¨

    ·ÖÏíJavaScript¼àÌýÈ«²¿AjaxÇëÇóʼþµÄ·½·¨

    2018-02-10 15:01

  • PrototypeʹÓÃѧϰÊÖ²áÖ¸ÄÏÖ®ajax.js

    PrototypeʹÓÃѧϰÊÖ²áÖ¸ÄÏÖ®ajax.js

    2018-02-09 16:04

  • Ô­ÉúJSÉÏ´«´óÎļþÏÔʾ½ø¶ÈÌõ phpÉÏ´«Îļþ´úÂë

    Ô­ÉúJSÉÏ´«´óÎļþÏÔʾ½ø¶ÈÌõ phpÉÏ´«Îļþ´úÂë

    2018-02-09 10:05

  • Ô­Éújs·â×°ajax¼æÈÝjsonpʵÀý·ÖÏí

    Ô­Éújs·â×°ajax¼æÈÝjsonpʵÀý·ÖÏí

    2018-01-27 13:34

ÍøÓѵãÆÀ
Ó