使用AngularJS隐藏滚动div

Ali*_*mam 5 javascript angularjs angularjs-directive

我是AngularJS的新手.当用户滚动div"B"时,我想在AngularJS中隐藏div"A".目前,当用户通过使用ng-click点击div"B"时,我可以隐藏div"A",但是在使用AngularJS滚动时我找不到任何方法.我知道,我可以使用JQuery来隐藏div但是有没有办法用AngularJS做到这一点?

更新:

我创建了一个scroll指令并用$ window附加它.现在,如果我滚动整个窗口,div将被隐藏,但我想在滚动特定div时隐藏它.我目前的实现看起来像下面:



    app.directive("scroll", function ($window) {
        return function(scope, element, attrs) {
            angular.element($window).bind("scroll", function() {
                if (this.pageYOffset >= 10) {
                    scope.hideVs = true;
                } else {
                    scope.hideVs = false;
                }
                scope.$apply();
            });
        };
    });

Run Code Online (Sandbox Code Playgroud)

Der*_*ins 8

我不确定你为什么要这样做,但我创造了一个我认为你想要的jsfiddle.

我稍微修改了你的指令:

app.directive("scroll", function () {
        return function(scope, element, attrs) {
            angular.element(element).bind("scroll", function() {
              scope[attrs.scroll] = true;
                scope.$apply();
            });
        };
    });
Run Code Online (Sandbox Code Playgroud)

你现在可以看到绑定到div上的滚动事件而不是窗口.我还更改了它设置的变量,以便将提供给scroll指令的值作为变量名称.

http://jsfiddle.net/Tx7md/

这是一个使用$ parse来设置@ganaraj建议的值的版本

  • 哦,太棒了,请你把我的答案标记为正确,谢谢 (2认同)