jQuery.css('top') 和 IE8



IE8+jQuery.css('top')函数有问题。

1) 我有一个DIV,高100px,宽600px。我在第一个DIV中有另一个DIV,样式为"top:50%",所以它应该放在top=50px中。

2) 所有浏览器都能正确显示它。但是,稍后,我需要使用jQuery来查找元素的位置,IE8:出现了问题

$('#txt').css('top')返回的不是50px而是300px!!!!!这是不正确的。我还注意到它总是返回父DIV的值0.5*WIDTH!!这让我疯了!怎么可能呢?

这是代码示例:

<!DOCTYPE HTML>
<html>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>demo</title>
    <script type="text/javascript" src="http://code.jquery.com/jquery-latest.min.js"></script>
    <script type="text/javascript">            
        function onLoadTest(){
            alert("document.getElementById('txt').style.top="+document.getElementById('txt').style.top+"n$(#txt).css('top')="+$('#txt').css('top'));
        }
    </script>
</head>
<body onload="onLoadTest()" style="padding: 0px; margin: 0px; width:100%; height:100%">             
    <div id="box" style="width:600px; height:100px; position:absolute; padding:0px; margin:0px; border: solid 1px">
        <div id="txt" style="top:50%; position:relative; padding:0px; margin:0px;border: solid 1px">
            im in the position top=50% (which is 50px), plz compare to alert box data
        </div>          
    </div>  
</body>
</html>

这是我的小提琴。请尝试使用offset()。IE有时会对absolute感到奇怪。使用偏移量是在你父母身上的寄宿生会让你51岁,所以我把寄宿生从父母上取下来

相关内容

  • 没有找到相关文章

最新更新