angular自定义指令,只在一处起作用
自定义指令,想要相应的DOM在页面滚动后浮动在页面顶部。但是在页面中多个地方使用这个指令,只有最后一个元素有效果,不知道是什么原因。指令代码如下:
.directive('topFixed', function () {
return {
restrict: 'AE',
link: function (scope, ele, attrs) {
function getTop(e) {
var offset = e.offsetTop;
if (e.offsetParnet != null) offset += getTop(e.offsetParent);
return offset;
}
var top = getTop(ele[0]);
window.onscroll = function () {
var bodyScrollTop = document.documentElement.scrollTop || document.body.scrollTop;
if (bodyScrollTop > (top-70)) {
ele[0].style.position = "fixed";
ele[0].style.top = "70px";
} else {
ele[0].style.position = "static";
}
}
}
};
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论