Angularjs$anchorScroll.yOffset不适用于ng粘性标头
Angularjs $anchorScroll.yOffset is not working for ng-sticky headers
我的项目构建在Angular Material、Angular JS上,我使用ngSticky将标题粘贴在主标题(这是一个md工具栏)下面。
在第二个标题(粘性)中,有一堆按钮,它们应该作为滚动到同一页面中不同部分的链接。(单击按钮后,页面应滚动到相应的部分)。
我使用了以下代码
角度控制器
$anchorScroll.yOffset = 100;
$location.hash(anchor);
$anchorScroll();
HTML
<div sticky offset="65" media-query="min-width: 1000px" style="background-color:white; border-bottom: 1px solid #CFCFCF;">
<ng-include src="'XXX/XXX-buttons.html'"></ng-include>
<div class="space-top-bottom"></div>
<ng-include src="'XXX/XXX-links.html'"></ng-include>
</div>
请注意,链接在'<ng-include src="'XXX/XXX-links.html'"></ng-include>'
下
目前,页面滚动但没有正确的位置,它忽略了粘性标题的高度。
根据Angular JS dos的说法,"为了使yOffset正常工作,滚动应该发生在文档的根上,而不是某个子元素上。"
预期行为:页面应该滚动到准确的div id。
问题:
无法将添加偏移量添加到补偿页眉(粘滞)高度的滚动中。
感谢您的帮助。
我找到了以下解决方案,
$location.hash('current-div');
$anchorScroll();
$('#scrolling-div').animate({ scrollTop: $('#current-div').position().top - $('#sticky-div').height() }, "slow");
这个想法是在有scoll的div上设置动画,而不是在父div上。
希望这能帮助到别人。
相关文章:
- JQueryhide()不适用于Mozzilla,但适用于Chrome
- PHP中的setcookie仅适用于localhost
- html5 drawImage适用于firefox,而不是chrome
- 提供“;onClick"适用于iPad(触摸屏)和桌面用户的默认功能
- jQuery表单验证适用于Mozilla和Internet Explorer,但不适用于Chrome或Safari
- ResolveUrl是否适用于././也
- Firebase updateChildValues适用于IOS,但不适用于Web和Android
- JavaScript警报适用于int,但不适用于string
- SQLite插件适用于Mac和Windows,但不适用于手机上的Safari
- Regex Replace仅适用于Last Match
- window.onload适用于aspx页面,但不适用于普通html
- NG类适用于NG重复之外
- Angularjs ng-options 问题仅适用于 Chrome 浏览器
- 为什么myForm$提交的不适用于ng消息,但适用于ng if
- 适用于 ngRoute、ng-view 和代码复制的最佳实践
- angularjs 1.3 javascript动画适用于ng repeat,但不适用于ng if
- AngularJS中的级联表达式适用于ng-show,但不适用于ng-if
- 获取一次性绑定以适用于 ng-if
- Ng-repeat只适用于$index
- 触发ng-show只适用于ng-click事件