2016-03-26 58 views
0

Şu anda açısal malzeme ile açısal bir uygulama oluşturuyorum. Ve kaydırma etkinliği ile ilgili bir sorunum var.Açısal malzeme kaydırma olayını tetiklemiyor

Uygulamam sabit bir sol sidenav ve sağdaki içerikten oluşuyor. Sağdaki içerikte ilerlemeyi denetlemeye çalışıyorum, ancak herhangi bir başarıya gerek kalmadan. Bence düzen direktifleri bu hatayı kışkırtıyor.

Bu

benim sorunun bir html örneğidir:

<body ng-app="MyApp" layout="row" ng-cloak> 

<md-sidenav layout="column" md-is-locked-open='true'> 
    SideNav 
    </md-sidenav> 

    <md-content flex layout="column" scroll> 
    <ng-view> 
     <div class="test">Content</div> 
    </ng-view> 
    </md-content> 
</body> 

javascript: <div class="test"></div> büyük yüksekliğe sahip olursa

var app = angular.module('MyApp', ['ngMaterial']); 

app.directive("scroll", function ($window) { 
    return function(scope, element, attrs) { 

     angular.element($window).on("scroll", function() { 
      if (this.pageYOffset >= 100) { 
       console.log('Scrolled below 100px'); 
      } else { 
       console.log('Scrolled above 100px'); 
      } 
     }); 
    }; 
}); 

, <md-content></md-content> kaydırılabilir olacak ve normalde yangın kaydırma olay olabilir direktifim scroll ile.

Yani 1500 piksel için <div class="test"></div> yüksekliğini koydu:
md-sidenav { 
    width: 110px;height:100%; 
    padding:20px; 
    background-color: #6bc7cc; 
} 

md-content { 
    background-color : tan; 
    height:100%; 
    padding:20px; 
} 

.test { 
    height: 1500px; 
} 

Ne yazık ki çalışmıyor ve ben kaydırma olayını ateş edemez. Neyi yanlış yapıyorum ve bunu nasıl düzeltebilirim?

Not: Burada benim sorunun bir keman olduğunu: https://jsfiddle.net/wahddee2/4/

cevap

2

O var senin, değil $window kaydırma element, bu olay dinleyicisi eklemek gerekenler yüzden.

element.on("scroll", function() { 
    console.log(element[0].scrollTop); 
}); 
+0

Ah evet, teşekkürler! Ben çok aptalım ahah – pchmn

İlgili konular