2013-11-01 4 views
-2

Я использую скрипт для выбора пункта меню и перейдите к выбранному местоположению на странице:Скрипт не работает в Internet Explorer,

$(function() { 
    var topMenu = $('.nav'), 
     menuItems = topMenu.find('a'), 

     scrollItems = menuItems.map(function() { 
      var item = $($(this).attr('href')); 
      if (item.length) { 
       return item; 
      } 
     }), 

     hash = window.location.hash; 

    menuItems.click(function (e) { 
     e.preventDefault(); 
     var href = $(this).attr('href'); 
     offsetTop = href === "#" ? 0 : $(href).offset().top - 20; 
     window.history.replaceState('', '', href); 
     $('html, body').animate({ 
      scrollTop: offsetTop 
     }, 300); 
    }); 
}); 

Он отлично работает в Chrome, FF и Opera, но Безразлично» t работают абсолютно в IE9,8,7.

Как заставить его работать в IE?

Это мой код http://jsfiddle.net/UB9f9/10/

ответ

1

комментарий ниже линии. window.history.replaceState не будет работать для IE 7,8,9 проверить диаграмму совместимости. http://caniuse.com/#search=replaceState

// window.history.replaceState ('', '', href);

+0

, но он не будет показывать адрес с #something в навигационной панели браузера :( – Heidel

Смежные вопросы