説明からわかりにくいですが、リモートから取得するデータから要素を作成する場合は、スクロールする前に要素の作成/挿入が完了していることを確認する必要があります。
次のコードは、あなたがこれを行うことができます方法の例です:
$http({
method: 'GET',
url: '/someUrl'
})
.then(createAndInsertYourElement)
.then(scrollToElem);
function createAndInsertYourElement(data) {
var $elem = $('<div id="test">' + data.whateva + '</div>');
$('#someElement').append($elem);
return $elem;
}
function scrollToElem($elem) {
$elem.slideToggle();
}
注.then
秒。 Angularの$ httpは約束を返すので、これはオプションです。約束事に精通していない場合は素晴らしいですが、チェックアウトする必要があります:http://www.dwmkerr.com/promises-in-angularjs-the-definitive-guide/
* "動的要素では?ページが読み込まれたときにこれを行う必要があります(クリックイベントなどではありません) "*まあ、それはダイナミック(ページロード後に追加されますか?)、またはページロード時にそれを行う必要がありますか? –
基本的な答えは:それが要素をロードしているものであれば、ロードされた後にその上で 'slideToggle'を実行する必要があります。 –