使用jQuery.css()的left和top属性的意外值

时间:2012-02-24 01:03:57

标签: javascript jquery css

我从jQuery.css() ...

获得了意外的输出
<img src="http://placekitten.com/640/360" alt="" id="original_image" style="left:0px; top:0px;" />

<script>
  var original_image = $('#original_image');

  console.log(original_image.css('left')); //outputs 'auto' :(

  original_image.bind('load', function() {
    console.log(original_image.css('left')); //outputs 'auto' :(
  });

  $(function() {
    console.log(original_image.css('left')); //outputs 'auto' :(
  });

  setTimeout("console.log(original_image.css('left'))", 2000); //outputs '0px' :)
</script>

我认为每个console.log()的输出都是'0px'......我错过了什么?

1 个答案:

答案 0 :(得分:2)

请务必在图片元素上设置position属性。

此属性的默认值为position: static。如果您使用此样式,topleft attrbiutes将被忽略,因为具有静态位置的元素无法移动到文档流之外。