正文滚动40px(n px)后如何滚动其他元素或标题

时间:2018-06-24 15:55:49

标签: javascript html angularjs

我想以比主体的滚动速度慢的速度向上滚动标题。

// old:
let date: Date = documentSnapshot.get("created_at") as! Date
// new:
let timestamp: Timestamp = documentSnapshot.get("created_at") as! Timestamp
let date: Date = timestamp.dateValue()

我该如何实现?在angularjs应用中使用javascript或CSS?

谢谢。

2 个答案:

答案 0 :(得分:0)

您可以设置将固定样式应用于标题的类。

<div class="header" ng-class="{'fixed-header': showFixedHeader}">
      Header will be scroll after 40px scrolling of body
</div>

在控制器中,您应该将侦听器添加到主体以跟踪滚动事件

angular.element(document.body).addEventListener('scroll', function(event) {
    var scrollTop = document.documentElement.scrollTop;

    if (scrollTop > 40) {
        $scope.showFixedHeader = true;
    } else if (scrollTop < 40) {
        $scope.showFixedHeader = false;
    }
}, false);

});

.fixed-header {
    position: fixed;
    left: 0;
    right: 0;
    top: 0;
}

答案 1 :(得分:0)

我在一个正在处理的项目中有一个类似的用例,我使用此库对其进行了解决。

https://github.com/harm-less/angular-sticky

希望这会有所帮助, 干杯!