2017-01-03 18 views
-1

を適用していなかった私はmain.jsmain.html動的負荷のコンテンツは、

<link rel="stylesheet" href="static/css/material.cyan-light_blue.min.css"> 
<link rel="stylesheet" href="static/css/styles.css"> 
<script src="static/js/jquery-3.1.1.min.js"></script> 
<script src="static/js/material.min.js"></script> 
<script src="static/js/main.js"></script> 

<main class="mdl-layout__content mdl-color--grey-100"> 
<div id="main-display" class="mdl-grid demo-content"> 
</div> 
</main> 

$(document).ready(function() { 
    $("#main-display").load(
     "static/tabs.html", 
     function() { $("#main-display").trigger("create"); 
    }); 
}); 

そしてtabs.html中に次のコードを持って、私は

<div class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect"> 
<div class="mdl-tabs__tab-bar"> 
    <a href="#tab1" class="mdl-tabs__tab is-active">Tab1</a> 
    <a href="#tab2" class="mdl-tabs__tab is-active">Tab2</a> 
    <a href="#tab3" class="mdl-tabs__tab is-active">Tab3</a> 
</div> 
を持っています

問題はtabs.htmlがloadeの場合ですdは$("#main-display").load()で、そのCSSスタイルは適用されませんでした。 MDLタブの機能が動作しませんでした。 tabs.htmlのタブにmain.js

$(document).ready(function() { 
    $("#main-display").load(
     "static/tabs.html", 
     function() { 
      var tabs = document.getElementById("div-js-tabs"); 
      componentHandler.downgradeElements(tabs); 
      componentHandler.upgradeElements(tabs); 
     } 
    ); 
}); 

そして追加id="div-js-tabs"を変更することによって、次のように

+0

あなたはタブの 'is-active'の1つだけを作ってみましたか? –

+0

[jqueryを使用して新しいhtmlファイルをロードしていますが、cssが機能しません]という重複している可能性があります。(http://stackoverflow.com/questions/31283893/i-am-using-jquery-load-a-new-html -file-but-css-doesnt-work)この回答を見てください:http://stackoverflow.com/a/31288866/2893691 – Dave

+0

私は問題が異なると思います。私の場合、読み込まれたHTMLコンテンツは同じCSSを使用します。 – VincentHuang

答えて

0

最後に、私は解決策を見つけ出します。私は動的にロードするとtabs.html

<div id="div-js-tabs" class="mdl-tabs mdl-js-tabs mdl-js-ripple-effect"> 

すると、そのMDLのCSSが正しく適用されました。