如何将基础应用程序 zf 面板定位在同一网格行上,作为可点击



我在Angular应用程序中使用Foundation-Apps库。

我正在尝试创建一个组件网格(数量不等(,单击该网格时,会导致面板位于单击的元素所属的行的顶部。

面板应覆盖整行,但仅覆盖该行。

到目前为止,我得到的更改了数据并显示面板正常。 但它始终位于网格的顶部(考虑到它在代码中的位置,这并不奇怪(。

您会注意到该面板实际上包含生成 html 的指令的实例,因此将面板包含在其中是行不通的(它会进入无限循环(。

有什么建议吗?

代码现状:

<div class="grid-block wrap">
  <div zf-panel="" id="objectDetailOverlayPanel"
   class=" objectDetailOverlayPanel"
   position="left"
   style="width: 100%; height: auto; box-shadow: none;">
<a href="#" zf-close="">
  <img src="..."
       class="float-right"
  />
</a>
<myDirective anObject="vm.selectedObject" expanded="true"/>
</div>
   <!-- generate grid of objects in rows of 4 -->
  <div ng-repeat="anObject in vm.objects" class="grid-content small-3">
    <myDirective anObject="anObject" expanded="false" detail-toggleable="true"
           ng-click="vm.selectedObject = anObject"/>
  </div>
</div>

如果其他人发现这一点,我最终在我的指令控制器中添加了一个函数,该函数在面板关闭链接上单击时被调用。

  positionOverlayPanel() {
const overlayPanel = document.getElementById('assetDetailOverlayPanel');
angular.element(overlayPanel)
  .css('top', `${this._$element[0].offsetTop}px`);

}

它并不漂亮,我相信有更好的方法,但它有效!

相关内容

  • 没有找到相关文章

最新更新