IE8 JavaScript не работает в IE7 - PullRequest
       12

IE8 JavaScript не работает в IE7

0 голосов
/ 14 декабря 2010

Веб-сайт, над которым я работаю, имеет боковую панель с расширяемыми / складными записями. У некоторых элементов на этой боковой панели рядом с ними есть маркер, который при нажатии открывает второй уровень элементов боковой панели. Мы используем событие onclick для вызова этой функции, чтобы сделать это. Вот скрипт:

<script type="text/javascript">
function menuClick(menu)
{
    if(menu.nextSibling.nextSibling.nextSibling.style.display == "inline")
    {
        menu.nextSibling.nextSibling.nextSibling.style.display = "none";
    }
    else
    {
        menu.nextSibling.nextSibling.nextSibling.style.display = "inline";
    }
}

Это работает в IE8, но не работает в IE7. В IE7, когда щелкают эти маркеры, меню расширяется как обычно, но не показывает следующий уровень ссылок. Также в IE7 эти маркеры находятся над соответствующими ссылками на отдельной строке. Если вы хотите взглянуть на сайт, это www.triptac.org . Если у вас IE8, вы можете увидеть, как он не работает в режиме совместимости. Буду очень признателен за любую помощь.

1 Ответ

1 голос
/ 14 декабря 2010

display: inline действительно не то, что вы хотите показать скрытые списки, display: block (по умолчанию для списков) это то, что вы хотите.Я подозреваю, что это поможет с показом / скрытием, но трудно сказать без редактируемого примера.

Вам придется возиться с отступами и полями на стрелках, чтобы получить их в нужном месте вIE7;установите специфичную для IE7 таблицу стилей и загрузите ее, используя условный комментарий IE7, который не даст ерунде IE7 загрязнять все остальное.Затем начните корректировать поля и отступы в списке, элементах списка и стрелках, пока IE7 не начнет себя вести.Я хотел бы быть в состоянии дать лучший совет, но заставить IE7 сделать вещи разумными - это, как правило, простой процесс игры с полями и отступами (и иногда display), пока он не сработает (а затем выпить (или ваш эквивалент)начинается).

Мэтт Болл прав, jQuery сделает многое из этого чище.OTOH, вам все равно придется превзойти IE7 в подчинении, чтобы jQuery не убрал всю боль.

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