Я использую Scrollspy's Scrollspy от Bootstrap, чтобы изменить выделение элемента NAVBAR на прокрутке страницы, а затем используя stistor.Replacestate , чтобы добавить хэш в URL. Этот вопрос дал мне идею для этой части. Я также использую немного jQuery для реализации «плавного прокрутки», когда навигационный элемент нажимается, и я выключаю Scrollspy, когда «плавная прокрутка» вниз к якоре, затем добавляю хэш в URL и включаю Scrollspy обратно. Он работает, как и ожидалось, в Chrome и Firefox, но в IE 10 и 11 он добавляет неопределенного перед хэшем в URL, нажимая ссылку, и я не могу понять, почему.
Вот мой скрипт:
//initiate scroll spy
$('body').scrollspy({ target: '.spy-active', offset: $offset + 1 });
$('.spy-active').on('activate.bs.scrollspy', function (e) {
if (history.replaceState) {
history.replaceState(null, "", $('a[href*=#]:not([href=#])', e.target).attr("href"));
}
});
//smooth scroll
$('a[href*=#]:not([href=#])').click(function (e) {
e.preventDefault();
//deactivate scrollspy for duration of transition
$('nav').removeClass('spy-active');
//remove active class from all list items
$('li').each(function () {
$(this).removeClass('active');
});
//add active class to clicked item
$(this).parent().addClass('active');
var target = this.hash;
var $target = $(target);
$('html, body').stop().animate({
'scrollTop': $target.offset().top - $offset
}, 500, 'swing', function () {
if (history.replaceState) {
history.replaceState(null, "", target);
}
//reactivate scrollspy
$('nav').addClass('spy-active');
});
});
Подробнее здесь: https://stackoverflow.com/questions/250 ... fined-ie11
ИСТОРИЯ.REPLACESTATE Не определено IE11 ⇐ Jquery
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Курсор изменяется по умолчанию после использования истории.replacestate () в Safari
Anonymous » » в форуме CSS - 0 Ответы
- 5 Просмотры
-
Последнее сообщение Anonymous
-
-
-
IE11 с печатью @media? Граница таблицы неправильная, если страниц больше 1
Anonymous » » в форуме CSS - 0 Ответы
- 9 Просмотры
-
Последнее сообщение Anonymous
-