javascript - 为什么悬停时我的下拉菜单不显示?

标签 javascript html css angularjs google-apps-script

我正在对话框中使用 angularJS 和 google app script 创建一个菜单。

我正在使用 this example code作为引用。

因此,无需在此处复制和粘贴我的所有代码,这基本上就是我想出的:

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

app.controller('mainCtrl', function($scope) {
  $scope.menu = [
    ["first", 
      ["item1", "item 2"]],
    ["second", 
      ["item 1", "item 2"]]
  ];
});
li {
  list-style: none;
}

li ul {
  display: none;
}

.firstLevel {
  display: inline-block;
}

li:hover>ul {
  display: block;
  position: absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="mainCtrl">
  <ul>
    <div ng-repeat="m in menu" class="firstLevel">
      <li>
        <a href="#">{{m[0]}}-</a>
      </li>
      <li>
        <ul>
          <div ng-repeat="msub in m[1]">
            <a>{{msub}}</a>
          </div>
        </ul>
      </li>
    </div>
  </ul>
</div>

我想显示子菜单,我怀疑这段 CSS 有问题 li:hover > ul.

所以我在这里做的是创建一个列表,该列表通过数组解析第一个元素,然后创建另一个列表,该列表在元素或 array[1] 内部进行解析。 当我删除 display: none 时,一切都显示出来,所以问题不在此处。

起初我虽然这是谷歌应用程序脚本 HTML 服务的限制,但当我在 JSFiddle 上尝试此代码时我遇到了同样的问题。

奇怪的是它在示例中有效,而且我已经尝试遵守相同的元素层次结构。

感谢任何帮助。

最佳答案

您正悬停在第一个 <li> 上没有 <ul> child 。那是在第二个<li> .我小时候把下拉菜单放在第一个 <li> , 现在可以了。

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

app.controller('mainCtrl', function($scope) {
  $scope.menu = [
    ["first", 
      ["item1", "item 2"]],
    ["second", 
      ["item 1", "item 2"]]
  ];
});
li {
  list-style: none;
}

li ul {
  display: none;
}

.firstLevel {
  display: inline-block;
}

li:hover>ul {
  display: block;
  position: absolute;
}
<script src="https://ajax.googleapis.com/ajax/libs/angularjs/1.2.23/angular.min.js"></script>
<div ng-app="myApp" ng-controller="mainCtrl">
  <ul>
    <div ng-repeat="m in menu" class="firstLevel">
      <li>
        <a href="#">{{m[0]}}-</a>
         <ul>
          <div ng-repeat="msub in m[1]">
            <a>{{msub}}</a>
          </div>
        </ul>
      </li>
    </div>
  </ul>
</div>

关于javascript - 为什么悬停时我的下拉菜单不显示?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52729385/

相关文章:

javascript - 如何使用 jQuery 和 JavaScript 选择一行中的特定列?

javascript - 将 Google Maps 容器大小设置为等于 md-card-content 宽度

html - 图像 Logo 在移动设备和浏览器之间的位置不同

html - CSS 边框颜色不会改变,什么都试过了

javascript - HTML5 和 Javascript - 一个函数似乎只工作一次

javascript - 我应该如何更新时间?新日期或setInterval?

javascript - 是否可以在不接管整个样式的情况下使用 Bootstrap?

html - 响应式类别图标应使用 HTML 和 CSS 覆盖所有可用的 DIV 区域

JavaScript 将数据解析为对象

javascript - jQuery/Bootstrap 跟随带有悬停项的 div