выбор jquery - PullRequest
       11

выбор jquery

0 голосов
/ 25 октября 2009

У меня есть следующий код:

$(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 действительно хорошо написанному лаконичному и мощному фрагменту кода (на мой взгляд)

У меня возникли проблемы со слайдом вверх / вниз, он закрывается нормально, но, поскольку высота в каждом загружаемом разделе контента различна, он открывается на старую высоту и привязывается к новой, как мне обойти это?

также есть ли способ добавить функцию браузера назад / вперед? я еще не смотрел на это, но, вероятно, придется все равно вернуться сюда, чтобы спросить!

1 Ответ

1 голос
/ 25 октября 2009

Если вы загружаете новый контент до слайддауна, он должен скользить вниз непосредственно к текущему контенту, а не к старому. Чтобы кнопки «назад» и «вперед» работали, вам понадобится плагин истории. jQuery BBQ , вероятно, является лучшим в этом отношении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...