2010-06-19 2 views
0

В ситуации: Я работаю над сайтом, где навигационная панель расположена в нижней части страницы на главной странице, но в верхней части страницы для всех остальных страниц. Я настроил некоторый jQuery, чтобы при нажатии ссылки на любую из подстраниц, навигационная система будет перемещаться вверх, так как позиция расположена на всех других страницах до перехода на следующую страницу (а также делает несколько небольших стилей хитрости, чтобы он идеально соответствовал). Просто это:Можно ли использовать jQuery для создания перехода страницы с предварительно загруженным div, чтобы не было мерцания между нагрузками?

$('#nav a').click(function(){ 
    var url = $(this).attr('href'); //save the url 
    $('#top-container').removeClass('home-top-container'); //remove the special home page styles 
    $('img').slideUp('slow', function(){ //slide up the main image-- this places the nav at the exact position of all interior pages 
    document.location.href = url; //when it's finished, proceed to the page 
    }); 
    return false; 
}); 

Было бы идеально «взгляд» за то, что, конечно, есть немного страницы время загрузки между переходами страниц, так что навигация исчезает, то вновь появляется на секунду, за исключением того, как и следовало ожидать. Но это действительно отвлекает, так как ваш глаз уже сосредоточен на навигаторе, который только что двигался.

Итак, мне интересно, есть ли способ использовать jQuery для поиска этого #nav div на целевой странице и предварительно загрузить его до перехода на эту страницу (чтобы не было мерцания)? Или любой другой способ сохранить отображение навигации без перерыва во время перехода?

У меня такое чувство, что я прошу о невозможности. Но, по крайней мере, стоит спросить.


ETA: Вот пример ссылки для сайта: http://www.studioal.com/sample/ Нажмите на кнопку «РАБОТА» (это работает только ссылка)

Я предпочел бы не выгорает, и, поскольку я бы любовь к навигации остается на 100% через полный переход (я думаю, что это будет легче понять, увидев пример).

+0

Загружается новая страница, когда пользователь нажимает на ссылку? и с этим вы снова загружаете #nav? – Zuul

+0

Я не могу представить, что вы описываете, но вы видели этот учебник? http://net.tutsplus.com/tutorials/javascript-ajax/how-to-load-in-and-animate-content-with-jquery/ – Mottie

+0

Я добавил ссылку, поскольку я знаю, что это должно быть трудно изображение из моего описания! Благодарю. – Kerri

ответ

0

Вы должны изучить AJAX, чтобы загрузить свою страницу в фоновом режиме, а затем погасить текущее содержимое и затухать в новом загруженном содержимом.

+0

В моем идеальном мире я бы хотел найти решение, которое не включает в себя выцветание. (Я добавил пример ссылки, которая должна сделать это проще для демонстрации). – Kerri

+0

Это не нужно исчезать, вы можете просто сделать прямое шоу/скрыть ... –