jQuery.css ('top') и IE8 - PullRequest
       14

jQuery.css ('top') и IE8

0 голосов
/ 03 апреля 2012

У меня проблема с функцией IE8 + jQuery.css ('top').

1) У меня есть DIV с высотой 100px и шириной 600px.У меня есть еще один DIV внутри первого с style = "top: 50%", поэтому он должен быть помещен в top = 50px.

2) Все браузеры отображают его правильно.НО, позже мне нужно использовать jQuery, чтобы найти положение элемента, и здесь возникает проблема с IE8:

$ ('# txt'). Css ('top') возвращает мне НЕ 50px, НО 300px!!!!!что не правильно.Также я заметил, что он всегда возвращает значение 0,5 * WIDTH родительского DIV!Это сводит меня с ума!Как это могло произойти?

вот пример кода:

<!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>

1 Ответ

0 голосов
/ 03 апреля 2012

Вот моя скрипка .Попробуйте использовать offset ().IE становится странным иногда с абсолютом.Использование смещения с границей на ваших родителей даст вам 51, поэтому я снял границу с родителя

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...