实时角度更新位置
Angular update position in realtime
我正在尝试进行滚动检测,该检测将在滚动时更新元素的位置。
JS代码:
angular.directive('menu', ['$window', function($window){
return function (scope, element) {
var w = angular.element($window);
var top = element.offset().top;
w.bind('scroll', function () {
adjustHeight();
});
function adjustHeight(){
var newtop = top - w.scrollTop();
if(newtop>0){
scope.top = top - w.scrollTop();
}else{
scope.top = '0';
}
}
};
}]);
.HTML:
<div ng-style="{'top':top}" menu></div>
只有在停止滚动后,位置才会更新。如何获取实时仓位更新?
您需要告诉 Angualar 您的更改,以便它可以应用它:
w.bind('scroll', function () {
adjustHeight();
scope.$apply();
});
因为 adjustheight 事件处理程序在角度范围之外运行。建议使用 scope.$apply 来表示。
此外,最好将w.scrollTop();
分配给变量以提高性能。
angular.directive('menu', ['$window', function($window){
return function (scope, element) {
var w = angular.element($window);
var top = element.offset().top;
w.bind('scroll', function () {
scope.$apply(adjustHeight); // pass the adjustheight function to scope.$apply.
});
function adjustHeight(){
var scrolltop = w.scrollTop();
var newtop = top - scrolltop;
if(newtop>0){
scope.top = top - scrolltop;
}else{
scope.top = '0';
}
}
};
}]);
相关文章:
- 获取 HTML 5 音频控制文件位置并在不使用 id 选择器的情况下更新 src
- 使用 javascript 在网页上的同一位置更新数字
- Firebase:我可以将推送与多位置更新结合起来吗?
- 实时角度更新位置
- 一个在同一位置更新的PHP计算器
- 根据滚动位置更新选择菜单中的选定选项
- 使用谷歌地图 API 上的当前位置更新标记
- SimpleWeather.js位置更新无法在iOS设备上运行
- Ajax X和Y位置更新无法使用Jquery UI可拖动程序正常工作
- 对象动画-位置更新失败
- 在a帧中使用tick函数根据相机位置更新物体位置
- 如何隐藏/显示元素在引导网格和有位置更新
- 隔离未从地理位置更新的作用域角绑定
- 根据位置更新html页面的部分内容.href客户端
- 基于顶部位置更新Div的类名
- 无法获得在d3中单击的节点的正确索引并在该位置更新JSON
- 作用域变量在用户弹出窗口后更新,但不是在某个位置更新
- Firebase多位置更新,删除冗余数据作为更新的一部分
- jQuery UI可排序:用新位置更新每个项目的隐藏输入值
- 使用鼠标位置更新 x 后保持图像居中