Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/437.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript AngularJS-计算阈值和偏移量-简单数学_Javascript_Angularjs - Fatal编程技术网

Javascript AngularJS-计算阈值和偏移量-简单数学

Javascript AngularJS-计算阈值和偏移量-简单数学,javascript,angularjs,Javascript,Angularjs,我有一个带有一些div的播放列表,我想在向下滚动时突出显示这些div,并且div接近滚动内容的顶部 我认为这很简单,但现在无法让它工作 .directive('scrollWatch', [function () { return { restrict: 'A', link: function (scope, element, attrs) { var offset = 20; var threshold = 190; var s

我有一个带有一些div的播放列表,我想在向下滚动时突出显示这些div,并且div接近滚动内容的顶部

我认为这很简单,但现在无法让它工作

.directive('scrollWatch', [function () {
return {
    restrict: 'A',
    link: function (scope, element, attrs) {

    var offset = 20;            
    var threshold = 190;
    var selected = 1;

    scope.songSelected = selected;

        element.bind('scroll', function(e) {

            if(e.detail.scrollTop > (threshold-offset)) {
                selected = Math.ceil(e.detail.scrollTop / (threshold-offset));
            }else{
                selected = 1;
            }

            scope.songSelected = selected;
            scope.$apply();

        });

    }
};
}])
它与第一个完美配合,但下一个从20px开始到很早,以此类推


我的div的高度为190像素,我希望在开始之前所有的div都以20像素的速度高亮显示。

我想出来了,应该是:

selected = Math.ceil((e.detail.scrollTop+offset) / threshold);