好吧,我有点难过.
我试图想象来自jQuery背景的角度方式.
问题:如果窗口没有滚动,我只想隐藏一个固定的元素.如果有人向下滚动页面我想隐藏元素.
我已经尝试创建一个自定义指令,但我不能让它工作,因为滚动事件没有触发.我正在考虑一个像下面这样的简单控制器,但它甚至都没有运行.
控制器:
.controller('MyCtrl2', function($scope,appLoading, $location, $anchorScroll, $window ) {
angular.element($window).bind("scroll", function(e) {
console.log('scroll')
console.log(e.pageYOffset)
$scope.visible = false;
})
})
Run Code Online (Sandbox Code Playgroud)
视图
<a ng-click="gotoTop()" class="scrollTop" ng-show="{{visible}}">TOP</a>
Run Code Online (Sandbox Code Playgroud)
现场预览 http://www.thewinetradition.com.au/new/#/portfolio
任何想法将不胜感激.
edd*_*iec 70
基本指令看起来像这样.一个关键点是你需要调用,scope.$apply()因为滚动将在正常digest周期之外运行.
app = angular.module('myApp', []);
app.directive("scroll", function ($window) {
return function(scope, element, attrs) {
angular.element($window).bind("scroll", function() {
scope.visible = false;
scope.$apply();
});
};
});
Run Code Online (Sandbox Code Playgroud)
我发现这个jsfiddle很好地演示了它http://jsfiddle.net/88TzF/
| 归档时间: |
|
| 查看次数: |
85972 次 |
| 最近记录: |