关于浏览器的Jquery偏移值

时间:2011-10-12 19:55:54

标签: jquery jquery-ui

我有这个

HTML

    <div id="cbox" class="cbox" name="cbox">
    <div id="box" class="box" name="box"></div>
    </div>
   <span id="posX"></span>
  <span id="posmX"></span>
  <span id="posY"></span>
  <span id="posmY"></span>
  <span id="finalX"></span>
  <span id="finalXm"></span>
  <span id="finalY"></span>
  <span id="finalYm"></span>

CSS

#cbox {
width:1350px;
height: 600px;
border:1px solid #000;
position: relative;
}

#box{
    position:absolute;
    top:40%;
    left:25%;
 width: 180px;
  height: 200px;
border:1px solid #000;
background-color: #fff;
padding:10px;
z-index:300;
  }

的Javascript

$('#box').draggable({ containment:'parent', cursor:'pointer',drag: function(){
            var offset = $(this).offset();
            var xPos = offset.left;
            var xmPos = offset.left + $('#box').outerWidth(); 
            var yPos = offset.top;
            var ymPos = offset.top + $('#box').outerHeight(); 
            $('#posX').text('xmin: ' + xPos);
             $('#posmX').text('xmax: ' + xmPos);
            $('#posY').text('ymin: ' + yPos);
            $('#posmY').text('ymax: ' + ymPos);
        }, 
          stop: function(){
               var finalOffset = $(this).offset();
            var finalxPos = finalOffset.left;
            var finalxmPos = finalOffset.left + $('#box').width();
            var finalyPos = finalOffset.top;
            var finalymPos = finalOffset.top + $('#box').height();

    $('#finalX').text('Final Xmin: ' + finalxPos);
    $('#finalXm').text('Final Xmax: ' + finalxmPos);
    $('#finalY').text('Final Ymin: ' + finalyPos);
    $('#finalYm').text('Final Ymax: ' + finalymPos);
        }

                      });

基本上,当正在拖动框时,偏移值被输入到它们各自的跨度字段中,一切都很完美但是我注意到ie8 +和opera上的偏移值是不同的,无论如何我可以使偏移值相同在所有浏览器上? 非常感谢。

1 个答案:

答案 0 :(得分:0)

我刚刚发现边距和填充值实际上会影响元素的位置和偏移值。