0

イコライゼーションタグを含むhtml要素をいくつか生成し、ページに追加します。これはわずかに変更されたZurb's Foundation 6 equalization example codeを使用します。生成されたFoundation 6イコライザがイコライズに失敗する[例を参照]

問題

私のhtmlページは、クリックされたボタンを、持っているコードを作成します。

要素の高さが等しくなっているように見えますが、要素を最小サイズにリサイズした後、フルスクリーンに戻すと均等化されません。

私はunderscore.jsでテンプレートシステムを使用していますが、同じ効果だけでjqueryだけでもテストしました。

foundation.html

<!DOCTYPE html> 
<html> 
<head> 
    <title>Foundation Equalizer Fail Test</title> 
    <meta charset="utf-8"> 
    <meta http-equiv="X-UA-Compatible" content="IE=edge"> 
    <meta name="viewport" content="width=device-width, initial-scale=1"> 
    <link href="https://cdn.jsdelivr.net/foundation/6.2.3/foundation.min.css" rel="stylesheet"> 
</head> 
<body> 

    <input type="button" value="Generate Equalizer"> 
    <script src="https://code.jquery.com/jquery-2.2.4.min.js"></script> 
    <script src="https://cdn.jsdelivr.net/g/[email protected](foundation.min.js+js/foundation.abide.js+js/foundation.core.js+js/foundation.equalizer.js+js/foundation.util.mediaQuery.js+js/foundation.accordion.js+js/foundation.accordionMenu.js+js/foundation.drilldown.js+js/foundation.dropdown.js+js/foundation.dropdownMenu.js+js/foundation.interchange.js+js/foundation.magellan.js+js/foundation.offcanvas.js+js/foundation.orbit.js+js/foundation.responsiveMenu.js+js/foundation.responsiveToggle.js+js/foundation.reveal.js+js/foundation.slider.js+js/foundation.sticky.js+js/foundation.tabs.js+js/foundation.toggler.js+js/foundation.tooltip.js+js/foundation.util.box.js+js/foundation.util.keyboard.js+js/foundation.util.motion.js+js/foundation.util.nest.js+js/foundation.util.timerAndImageLoader.js+js/foundation.util.touch.js+js/foundation.util.triggers.js)"></script> 
    <script src="https://cdnjs.cloudflare.com/ajax/libs/underscore.js/1.8.3/underscore-min.js"></script> 
    <script type="text/template" id="t_underscore"> 
     <div class="row" data-equalizer data-equalize-on="medium"> 
      <div class="medium-4 columns"> 
       <div class="callout" data-equalizer-watch> 
       <img src= "http://foundation.zurb.com/sites/docs/assets/img/generic/square-1.jpg"> 
       </div> 
      </div> 
      <div class="medium-4 columns"> 
       <div class="callout" data-equalizer-watch> 
       <p>Pellentesque habitant morbi tristique senectus et netus et, ante.</p> 
       </div> 
      </div> 
      <div class="medium-4 columns"> 
       <div class="callout" data-equalizer-watch> 
       <img src= "http://foundation.zurb.com/sites/docs/assets/img/generic/rectangle-1.jpg"> 
       </div> 
      </div> 
     </div> 
    </script> 
    <script type="text/javascript"> 
     $(document).foundation(); 
     var template = _.template($("#t_underscore").html()); 
     var t = $(template()); 
     $("input[type=button]").on("click", function() { 
      $("body").append(t).foundation(); 
     }); 
    </script> 
</body> 
</html> 

それはすべてのブラウザで正しく表示されますので、それはすべてのCDNとリモートの画像を使用しています。

私が正常に機能して基礎イコライゼーションのセットアップと異なることに気付きましたいくつかの点:

  • 私の均等化のdiv
  • にはdata-events="resize"タグはありませんそれは、代わりにそのピクセルサイズの要素にheight: auto;を設定します。

答えて

0

私はZurb Foundationに問題を提出し、解決策を受け取りました。ドキュメントが明示的にこれを述べるものではないが

:ページへの基盤要素を追加する場合、彼らは含めることはできません土台タグ

基盤タグに含まれる行:

<div class="row" data-equalizer data-equalize-on="medium"> 

になった:

<div class="row"> 

となりました。スクリプトは

<script type="text/javascript"> 
    $(document).foundation(); 
    var template = _.template($("#t_underscore").html()); 
    $("input[type=button]").on("click", function() { 
     $("body").append(template); 
     var equalizer = new Foundation.Equalizer($(template), {"data-equalize-on": "medium"}); 
    }); 
</script> 
関連する問題