Я начинающий дизайнер, у меня несколько проблем с этой страницей: http://www.resolvegroup.co.nz/javasurvey.php
Возникли проблемы с работой расширенных вопросов с помощью javascript. Для Internet Explorer (версия 7) первый вопрос при раскрытии частично скрывается под вопросом 2. Это происходит в разной степени со всеми вопросами, иногда делая следующий вопрос полностью скрытым и другие проблемы.
Firefox (версия 3.03) не имеет проблемы, описанной выше, но вы не можете получить доступ к объяснениям или выбрать следующий вопрос, как в IE7.
Кто-нибудь знает, что с этим творится, и как исправить?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я бы порекомендовал использовать предварительно созданный скрипт Accordion, подобный встроенному в библиотеку пользовательского интерфейса jQuery: http://docs.jquery.com/UI/Accordion
Кроме того, я могу предложить несколько вещей. Этот ваш код:
$(".score-list").slideUp(speed);
$(".score-list").removeClass("open");
$("a.open-answer").removeClass("hidden");
$(this).parent().children(".score-list").slideDown(speed);
$(this).parent().children(".score-list").toggleClass("open");
$(this).toggleClass("hidden");
можно было бы сделать намного более эффективным, сохранив результаты запроса jQuery, а также воспользовавшись возможностями связывания jQuery: довольно много функций jQuery возвращают сам объект jQuery, что означает, что вы можете вызывать ряд функций подряд без необходимости снова и снова ссылаться на объект. Вот что я имею в виду:
$(".score-list") // my own preference is to split the calls onto
.slideUp(speed) // multiple lines to make it easier to read.
.removeClass("open")
;
$("a.open-answer").removeClass("hidden");
var $this = $(this); // store the result from a query in an object so you
// don't have to go through that again.
$this
.parent()
.children(".score-list")
.slideDown(speed);
.toggleClass("open")
;
$this.toggleClass("hidden");
Если я не ошибаюсь, в вашем CSS есть некоторая нестабильность. ".question-container h3" и ".question-container h3 span" имеют относительное и абсолютное позиционирование соответственно. Internet Explorer не очень хорошо справляется с позиционированием вне потока. В результате он запутывается и пытается разместить эти элементы в странных местах.
Создайте аккордеон без относительного или абсолютного позиционирования, и он должен работать нормально.
Он отлично работает в Chrome, если вам не все равно.