そうでないと主張する人もいるかもしれませんが、Ember は、あなたが示したようなウェブサイトのランディング ページには少しやり過ぎかもしれません。Ember は、接続する必要がある複数のビューとデータを持つ堅牢な Web アプリ向けです。
まず、スクリプトを見ると、 jQuery を使用してbody
のscrollTop
位置をそれぞれの divにアニメートし、メニュー要素の に設定window.location.hash
しています。これはたまたまスクロールのID にもなっています。hash
href
<section/>
body
$(document).on('click', '#nav a, .clients-capabilities a', function(){
var target = $(this);
var hash = this.hash;
var destination = $(hash).offset().top;
stopAnimatedScroll();
$('#nav li').removeClass('on');
target.parent().addClass('on');
$('html, body').stop().animate({
scrollTop: destination
}, 400, function() { window.location.hash = hash; });
return false;
});
第二に、ページの読み込み時に特定の位置に読み込むために特別なことは何もしていません。Web 上の任意のページをハッシュでロードすると、ブラウザーはその ID を持つ要素を探し、その位置にロードします。例: http://emberjs.com/#download。
これに Ember を使用したい場合でも、おそらく/
ルートからロードされた単一のビューで同様のことを行うことになるので、サイトが本格的な Web アプリになるまで、Ember について心配することさえありません。