У меня есть следующий код:
$(document).ready(function() {
var hash = window.location.hash.substr(1);
var href = $('#nav li a').each(function(){
var href = $(this).attr('href');
if(hash==href.substr(0,href.length-5)){
var toLoad = hash+'.html #content';
$('#content').load(toLoad)
}
});
$('#nav li a').click(function(){
var toLoad = $(this).attr('href')+' #content';
$('#content').slideUp(2000,loadContent);
window.location.hash = $(this).attr('href').substr(0,$(this).attr('href').length-5);
function loadContent() {
$('#content').load(toLoad,'',showNewContent())
}
function showNewContent() {
$('#content').slideDown(2000,hideLoader());
}
function hideLoader() {
$('#load').fadeOut('normal');
}
return false;
});
});
благодаря nettuts действительно хорошо написанному лаконичному и мощному фрагменту кода (на мой взгляд)
У меня возникли проблемы со слайдом вверх / вниз, он закрывается нормально, но, поскольку высота в каждом загружаемом разделе контента различна, он открывается на старую высоту и привязывается к новой, как мне обойти это?
также есть ли способ добавить функцию браузера назад / вперед? я еще не смотрел на это, но, вероятно, придется все равно вернуться сюда, чтобы спросить!