Проблема с тегом привязки в FF;нацеливание скрытого div - PullRequest
1 голос
/ 09 марта 2011

У меня проблема с Firefox и привязкой ссылок с внешней страницы на вкладку div на целевой странице; в то время как IE корректно отображает их (я знаю, это мало что значит), FF и Chrome отправляют пользователя в место, расположенное выше или ниже фактического тега привязки Я не писал оригинальный код, но я не могу найти много об ошибке FF, которая могла бы вызвать это, или решение?

Начальная ссылка: http://www.washington.edu/students/gencat/academic/sis.html#INTSTUDUG

Ответы [ 2 ]

1 голос
/ 09 марта 2011

Некоторый JavaScript-код меняет макет страницы после ее загрузки. Если вы отключите JavaScript в своем браузере, вы увидите, что как FF, так и Chrome работают нормально.

0 голосов
/ 09 марта 2011

Это связано с вашим JavaScript. Якорь переносит вас в определенное место на странице, затем javascript меняет вкладку, что делает div в верхней части страницы больше. Это происходит после того, как страница была прокручена, что избавляет вас от привязки.

Попробуйте включить загрузку страницы с включенным JS и выключенным JS, вы поймете, что я имею в виду.

Как это исправить? Вы можете использовать jQuery для прокрутки до якоря в функции готовности документа, например:

$(function() { 
    var anchor = $('a[name="' + window.location.hash.replace('#', '') + '"]');
    if(anchor) {
         $('html, body').animate({scrollTop: anchor.offset().top});
    }
});

Немного хакерское исправление, но это сработает. Лучше было бы убедиться, что JS не меняет макет готового документа:)

...