javascript - Angular Material 的垂直 slider 无法正常工作

标签 javascript angularjs angularjs-directive

我在我的应用程序中使用 Angular Material。如果上面没有内容,它工作正常。但是当我放一些内容,出现滚动条的时候,拖动就出错了。

工作示例:

angular.module('MyApp',['ngMaterial', 'ngMessages', 'material.svgAssetsCache'])

.controller('AppCtrl', function($scope) {

    $scope.vol = Math.floor(Math.random() * 100);
    $scope.bass = Math.floor(Math.random() * 100);
    $scope.master = Math.floor(Math.random() * 100);
});
<link href="https://material.angularjs.org/1.1.0-rc.5/docs.css" rel="stylesheet"/>
<link href="https://cdn.gitcdn.link/cdn/angular/bower-material/v1.1.0-rc.5/angular-material.css" rel="stylesheet"/>

<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-animate.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-route.min.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-aria.min.js"></script>
<script src="https://s3-us-west-2.amazonaws.com/s.cdpn.io/t-114/svg-assets-cache.js"></script>
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.5.5/angular-messages.min.js"></script>
<script src="https://cdn.gitcdn.link/cdn/angular/bower-material/v1.1.0-rc.5/angular-material.js"></script>

<!-- remove this -->
<p>My content</p>
<p>My content</p>
<p>My content</p>
<p>My content</p>
<p>My content</p>
<p>My content</p>
<!-- remove this -->

<div ng-controller="AppCtrl" ng-cloak="" class="sliderdemoVertical" ng-app="MyApp">
  <md-content layout="row" layout-padding="">
    <md-slider-container flex="">
      <md-input-container>
        <input flex="" type="number" ng-model="vol" aria-label="volume" aria-controls="volume-slider">
      </md-input-container>
      <md-slider ng-model="vol" min="0" max="100" aria-label="volume" id="volume-slider" class="md-accent" md-vertical="" md-range=""></md-slider>
      
      <h5>Volume</h5>
    </md-slider-container>
    <md-slider-container flex="">
      <md-input-container>
        <input flex="" type="number" ng-model="bass" aria-label="bass" aria-controls="bass-slider">
      </md-input-container>
      <md-slider md-discrete="" ng-model="bass" min="0" max="100" step="10" aria-label="bass" class="md-primary" md-vertical=""></md-slider>
      
      <h5>Bass</h5>
    </md-slider-container>
    <div flex="" layout="column" layout-align="center center">
      <md-slider-container ng-disabled="readonly">
        <md-input-container>
          <input flex="" type="number" ng-model="master" aria-label="master" aria-controls="master-slider">
        </md-input-container>
        <md-slider flex="" ng-model="master" md-discrete="" aria-label="Master" md-vertical="" step="10" ng-readonly="readonly"></md-slider>
        <h5>Master</h5>
      </md-slider-container>
      <md-checkbox ng-model="readonly">Read only</md-checkbox>
    </div>
  </md-content>
</div>

<!--
Copyright 2016 Google Inc. All Rights Reserved. 
Use of this source code is governed by an MIT-style license that can be in foundin the LICENSE file at http://material.angularjs.org/license.
-->

与上面 Codepen 中的示例相同:here

如果您删除 HTML 中的所有内容并且没有滚动条,它可以正常工作。

这是 Angular Material 的错误还是我做错了什么?

非常感谢。

最佳答案

当我使用 angular-material 时,我也需要一个 slider ,我使用了 angular-jk-carousel .它适用于 Angular Material 。对于滚动条问题,如果你有导航栏,我认为你应该将导航栏包含到主容器中。

关于javascript - Angular Material 的垂直 slider 无法正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37804432/

相关文章:

javascript - 对多个选项使用 Angular 指令

javascript - 在回调函数中可观察 - Angular 5

javascript - 将 DIVIDEND_EVENT 转换为股息事件 + javascript/angularjs

javascript - 使用指令编辑 html 文本值

javascript - 如何从 Controller 内切换此 notificationDirective 中的 ng-class?

angularjs - Angular 绑定(bind)指令的参数到 Controller

php - 查找所有文本框值并发布到 PHP MySQL

javascript - 根据主键和外键组合两个数组

javascript - React 组件中如何处理内存?

javascript - Angular [$插值 :interr] error for applied filter