2012-02-19 2 views
2

Я создаю веб-сайт с использованием рамки sammy.js. У меня есть боковая панель, которая является постоянной, и основной контент, который загружает разные страницы с помощью sammy. На боковой панели у меня есть ссылки на новостные статьи. В настоящее время любая ссылка на боковую панель просто загружает маршрут #/news. Но я бы хотел, чтобы он загружал маршрут и прокручивался до статьи. Я попытался использовать триггер привязки, когда маршрут загружен, чтобы перейти к статье, но я получаю ошибки в приложении sammy. Любые мысли о том, как это можно сделать?Прокрутите страницу привязки в проекте Sammy.js

ответ

5

Похоже на старый вопрос, но так как он по-прежнему без ответа ....

Вы должны определить свой URL в качестве регулярного выражения, и позволяют дополнительно закладку хэш в конце этого:

get(/#\/news(#.+)?/, function() { 
    var articleId = this.params['splat']; 
}); 

Это будет соответствовать любому из следующих маршрутов:

  • #/новости
  • #/новости #
  • #/новости # мои-новости-статьи

Затем вы должны быть в состоянии использовать ArticleID, чтобы найти соответствующий элемент и вручную прокручивать. например в последнем маршруте выше, «ArticleID» будет «# мой-новости-статьи», поэтому с помощью JQuery вы могли бы сделать что-то вроде:

var $article = $(articleId); 
    $(document.body).animate({ scrollTop: $article.offset().top }); 
}); 

Надежда, что помогает.