を固定するために、私はちょうど私がこのように私のリンクを設定することで、UI-ルータを使用してポイントを固定するナビゲートできることを見出した:angularjs UI-ルータアニメーションスクロール
<ul>
<li><a ui-sref="home({ '#': 'creative' })">creative</a></li>
<li><a ui-sref="home({ '#': 'work' })">work</a></li>
<li><a ui-sref="home({ '#': 'contact' })">contact</a></li>
</ul>
これは素晴らしいですが、私はしたいと思いますアンカー位置にアニメートします。私は状態イベントのいずれかを使用することができます考え出したので、私はこの試みた:
$transitions.onFinish({ to: true }, function() {
console.log('the state has changed');
console.log($location.hash());
var hash = $location.hash();
if (hash) {
var target = document.querySelector('#' + hash);
console.log(target);
var element = angular.element(target);
console.log(element);
$document.scrollToElement(element, 0, 2000);
} else {
// Scroll to the top of the page
document.body.scrollTop = document.documentElement.scrollTop = 0;
}
});
をしかし、ビューはまだロードされていないので、要素を見つけることがどこにもありません。 私のscrollToをアニメーション化する方法があれば?