Я работаю с JQuery и пытаюсь изменить html блока div, когда дочерний элемент div входит и выходит. Моя проблема в том, что приведенный ниже код не меняет значение html #menu_text. Он отображает только «Скрыть меню» и не определяет реальную высоту, измененную с помощью slideToggle.
$('#menu').click(function () {
$('#menu_links').slideToggle('slow', function(){
console.log('Debug : %s', $('#menu_links').height());
if ($('#menu_links').height() == 1)
$('#menu_text').html("Show Menu");
else if ($('#menu_links').height() == 20)
$('#menu_text').html("Hide Menu");
});
});
После проверки в консоли firebug значение высоты никогда не меняется с 20, если вы не нажмете на div очень быстро несколько раз, затем оно изменится на 1. (Я должен добавить, что высота, определенная в таблице стилей, равна 20) *
В документе сказано, что slideToggle влияет только на высоту объекта. Я что-то пропустил? Спасибо за помощь.
<div id="menu"><p id="menu_text">Show Menu</p>
<div id="menu_links">
Stuff
</div>
</div>