javascript - Angular - 使用 ng-style 更改 css

标签 javascript html css angularjs ng-style

我正在尝试在滚动事件中更改 DIV 的顶部位置 -

在 Controller 中我有-

    angular.element($window).on("scroll", function(e) {
        vm.scrollTop = angular.element($window).scrollTop()+'px';
        console.log(vm.scrollTop);
    }); 

在 html 中 -

<div ng-style="{'top': vm.scrollTop}">
    Hello World
</div>

滚动事件在控制台中打印 scrollTop 值,但“Div”样式永远不会更新。

如果这在语法上不正确,请纠正我。

最佳答案

您需要在设置 vm.scrollTop 后调用 $scope.$apply();,因为事件处理程序在 Angular 感知之外执行。

关于javascript - Angular - 使用 ng-style 更改 css,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47340577/

相关文章:

html - xpath:仅提取以开头的类

Javascript:在执行函数之前等待脚本同步加载的最佳方法?

javascript - 表单将无法验证

javascript - 如何使用javascript在firebase中将在线用户的状态更改为离线用户

javascript - 使用 AJAX 发送隐藏的 ID 输入字段

javascript - 如果显示自定义字段,则显示/隐藏按钮

javascript - 如何使用 JQuery 在不同样式表之间切换?

html - 删除内联 block 元素周围的默认空白

css - 使 Bandcamp iframe 响应 - 居中和溢出问题

css - 带边框的末子选择器仍然带有下划线