【问题标题】:Zurb Foundation equalizer plugin - 'equalizer' is not an available method for this element?Zurb Foundation 均衡器插件 - “均衡器”不是此元素的可用方法?
【发布时间】:2024-01-21 04:05:01
【问题描述】:

我正在尝试为下面的网格布局使用 Zurb Foundation 均衡器插件:

 <div class="row eq-height" data-equalizer>

    <div class="medium-3 columns" data-equalizer-watch>
        <a href="#" class="grid-item" style="background-image:url('http://placehold.it/800x1200')"> <img class="img-responsive" src="http://placehold.it/800x1240" alt=""> </a>
    </div>

    <div class="medium-6 columns" data-equalizer-watch>
        <a href="#" class="grid-item" style="background-image:url('http://placehold.it/800x600')"> <img class="img-responsive" src="http://placehold.it/800x603" alt=""> </a>
    </div>

    <div class="medium-3 columns" data-equalizer-watch>
        <a href="#" class="grid-item" style="background-image:url('http://placehold.it/800x600')"> <img class="img-responsive" src="http://placehold.it/800x600" alt=""> </a>
        <a href="#" class="grid-item" style="background-image:url('http://placehold.it/800x600')"> <img class="img-responsive" src="http://placehold.it/800x600" alt=""> </a>
    </div>

</div>

我已经加载了插件:

<!-- Compressed CSS -->
<link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.0/css/foundation.min.css">

<!-- Compressed JavaScript -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.0/js/foundation.min.js"></script>

<!-- https://cdnjs.com/libraries/foundation/6.3.0 -->
<script src="https://cdnjs.cloudflare.com/ajax/libs/foundation/6.3.0/js/plugins/foundation.equalizer.js"></script>

并调用插件:

<script>
  $(function() {
    $(document).foundation('equalizer', 'reflow');
  });
</script>

但是我得到了这个错误:

Uncaught ReferenceError: We're sorry, 'equalizer' is not an available method for this element.
    at r.fn.init.a [as foundation] (foundation.min.js:1)
    at HTMLDocument.<anonymous> (cdn.html:112)
    at j (jquery.min.js:2)
    at k (jquery.min.js:2)

有什么我错过的想法吗?

【问题讨论】:

    标签: javascript jquery grid zurb-foundation-6 equalizer


    【解决方案1】:

    尝试使用$(document).foundation(); 定义基础。

    使用$(document).foundation('equalizer', 'reflow');,您正在尝试刷新均衡器,但您尚未定义。

    【讨论】:

    • 那么$(document).foundation('equalizer', 'reflow'); 是干什么用的?
    • 它用于在 DOM 更改时重新计算 div 尺寸(在您的情况下为 column)。例如,当您动态添加 column
    • 您将如何使用它的任何示例?
    • 'equalizer' 顺便说一句有问题。
    • 类似这样的东西:$.ajax({ url: *link* }).success(function( html ) { /* html var already it contains the list of columns */ $( ".row" ).html( html ); $(document).foundation('equalizer', 'reflow'); });