我正在尝试构建一个angularJs指令,它会使div变粘。 但我陷入了初始状态。
问题是,此滚动事件仅在页面重新加载时触发。最初不适用于路线更改。但是一旦我重新加载页面,即使路线发生变化,它也能正常工作。
我在这里做错了什么?
代码如下:
(function (angular, window) {
"use strict";
function stickyDivDirective($compile, $timeout) {
function directiveLink(scope, element, attributes) {
function scrollFunction(targetDocument) {
console.log('Scrolling');
}
angular.element(document.querySelector('md-content')).on('scroll', scrollFunction);
}
var directive = {
restrict: "A",
scope: {
mainContainer: "@",
targetContainer: "@",
offsetHeight: '@',
scrollableElement: '@'
},
link: directiveLink
};
return directive;
}
stickyDivDirective.$inject = ["$compile", "$timeout"];
angular
.module(appSuite.module + ".directives")
.directive("stickyDiv", stickyDivDirective);
})(window.angular, window);
<div class=""
id="saa__variablesBar"
sticky-div>
<div>
答案 0 :(得分:2)
我找到了解决方案。 这真的很奇怪。我刚刚使用 getElementById 而不是 querySelector 。 问题解决了。