スクリプトを使用してメニュー項目を選択し、ページ上の選択した場所に移動します。
$(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 では完全に動作しますが、IE9、8、7 ではまったく動作しません。
IEで動作させるには?
それは私のコードですhttp://jsfiddle.net/UB9f9/10/