2012-02-19 7 views
2

私はsammy.jsフレームワークを使用してウェブサイトを構築しています。私にはサイドバーがあり、サミーの助けを借りて別のページを読み込むメインのコンテンツビューがあります。サイドバーにはニュース記事へのリンクがあります。現在、サイドバーの記事リンクのどれかが#/ newsルートをロードします。しかし、私はそれがルートをロードし、記事にスクロールダウンしたい。記事をスクロールするためにルートがロードされたら、アンカーリンクトリガーを試してみましたが、sammyアプリケーションでエラーが発生します。これがどのように達成できるかについての考えはありますか?Sammy.jsプロジェクトのアンカーリンクにスクロール

答えて

5

あなたが正規表現として、あなたのURLを定義し、それの最後にオプションのブックマークハッシュを許可する必要があり

....古い質問のように思えるが、それはまだ未回答だから:

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

これは、次のいずれかの経路と一致します:

  • #/ニュース
  • #/ニュース#
  • #/ news#my-news-article

この場合、articleIdを使用して一致する要素を見つけ、手動でスクロールすることができます。例えば

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

役に立てば幸い:上記の最後のルートでは、「情報でarticleIDは」そう、あなたのような何かができるのjQueryを使用して、「#私のニュース・アーティクル」になります。

関連する問題