Angular JS禁用触摸滚动,但某些元素除外

时间:2014-08-06 01:10:41

标签: javascript jquery html css angularjs

我正在构建一个用于在iPad上部署的Web应用程序,我们正在寻找一种方法来禁用整个视图的滚动,除了某些div。理想情况下,能够将scroll类或其他内容应用于div并且仅允许scroll类滚动是很棒的。

Angular方法应该在这里做什么?我在网上看过各种各样的JQuery和纯Javascript方法,但所有这些方法看起来都非常混乱,不一定是防弹。

1 个答案:

答案 0 :(得分:1)

一个选项是确定设备窗口的高度(允许您使用任何deivce / pc)并以ng风格设置div的最大高度。

$scope.windowHeight = $window.innerHeight; //might need to subtract 30 pixels for side scrollbar if needed.
$scope.innerDivHeight = Math.ceil($scope.windowHeight / 3) //Whatever scale you want your inner divs to be.

然后

<div class="container" ng-style="{'max-height': windowHeight+'px', 'overflow':'none'}">
    <div class="innerDiv" ng-style="{'max-height': innerDivHeight+'px', 'overflow':'auto'}">
    </div>
</div>

你可能不得不稍微嘲笑它,但这样它可以同时适用于台式机和iPad,而不会引入平台特定的要求。请注意,如果超过高度,则不会滚动,并且auto为yes,如果超过高度,则在此div内滚动。

就像我说的,这可能不是你想要的,但你不需要任何额外的复杂性来做到这一点。

相关问题