Я думаю, что ваш document.ready
был закрыт слишком рано.
Я просто переместил скобки });
в конец вашего сценария ...
<script type="text/javascript">
$('document').ready(function() {
$('#bio > div').hide();
$('#bio > div:first').show();
$('#bio h3').click(function() {
alert('called');
$(this).next().animate(
{'height':'toggle'}, 'slow', 'swing'
);
});
$('p:first').animate(
{
height: '+=100px',
backgroundColor: 'green'
},
{
duration: 'slow',
easing: 'swing',
complete: function() {alert('done!');},
queue: false
}
);
});
</script>
Почему? Например, вы пытаетесь привязать события типа .click()
к элементу с именем #bio h3
. Однако элемент #bio h3
может еще даже не существовать в DOM, поскольку вы вызываете сценарий в <head>
. Использование document.ready
гарантирует, что DOM существует до выполнения кода внутри.
Почему это работает в некоторых браузерах, вероятно, простая проблема с синхронизацией.