jQuery offset () возвращает ноль в Chrome - PullRequest
2 голосов
/ 02 ноября 2011

У меня есть следующий HTML:

<div id="menu">
<ul>
    <li><a href="#"><img src="imagenes/user.png" width="32" height="32" alt="My Profile" title=""/></a></li>
    <li><a href="#"><img src="imagenes/photo.png" width="32" height="32" alt="Photo Gallery" title=""/></a></li>
    <li><a href="#"><img src="imagenes/bookmark.png" width="32" height="32" alt="Social Bookmarking Tools" title=""/></a></li>
    <li><a href="#"><img src="imagenes/rss.png" width="32" height="32" alt="RSS" title=""/></a></li>
    <li><a href="#"><img src="imagenes/search.png" width="32" height="32" alt="Search" title=""/></a></li>              
    <li class="selected"><a href="#"><img src="imagenes/setting.png" width="32" height="32" alt="Control Panel" title=""/></a></li>
</ul> 
<div id="box"><div class="head"></div></div></div>

И следующий код JS:

    $(document).ready(function () {
        var style = 'easeOutExpo';
        var default_left = Math.round($('#menu li.selected').offset().left - $('#menu').offset().left);
        var default_top = $('#menu li.selected').height();
                ... 

Проблема, с которой я столкнулся, заключается в том, что "$ ('# menu li.selected'). Offset ()" возвращает ноль в Chrome. Я получаю это сообщение об ошибке: "Uncaught TypeError: Невозможно прочитать свойство 'left' of null". В Firefox 5.0 работает нормально, и я не пробовал в IE.

Спасибо!

1 Ответ

0 голосов
/ 02 ноября 2011

Исходя из вашего HTML выше, <div id="menu"> не имеет закрывающего тега.

Попробуйте добавить еще один </div> в конец вашего HTML.

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