在我的 Ember 应用程序中,如何跳转到 Handlebars 模板之一内的 HTML 锚点?我创建了一个 jsFiddle 来显示我想要完成的任务 http://jsfiddle.net/Abdull/KUkd6/.
背景
Ember 的应用程序导航模型使用 HTML 锚点。
我有以下要求:当用户单击 Handlebar 时linkTo
帮助导航到新的路线目的地,浏览器应该自动滚动到与该新的 Handlebars 模板关联的锚点路线目的地.
Use jquery
滚动到特定部分。
$('html,body').animate({
scrollTop: $("a[name='someAnchor']").offset().top
});
Refer 这个答案 https://stackoverflow.com/a/6677069/3244627关于同样的事情。
要在视图呈现后滚动到锚点,请覆盖didInsertElement
在您的路线视图的定义中。
Refer 这个答案 https://stackoverflow.com/a/8882168/3244627关于同样的事情。
App.LonglistView = Ember.View.extend({
didInsertElement: function() {
// Place the scroll to anchor code here.
$('html,body').animate({
scrollTop: $("a[name='someAnchor']").offset().top
});
}
});
Here is 一个工作示例 http://jsfiddle.net/KUkd6/2/在 jsfiddle 中(为了清楚起见,我没有添加任何数据模型)
编辑:您还可以使用非 jquery 方式进行滚动
document.getElementsByTagName('a')[name='someAnchor'].scrollIntoView()
The jsfiddle 示例 http://jsfiddle.net/KUkd6/3/对于相同的。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)