0

ブートストラップWebページを作成していますが、トップバーを1回だけ作成してから、すべてのページに含めたいと思います。Djangoでは、これはテンプレートの継承で簡単でした。ベースページに新しいタグを作成して、必要なすべてのページに含めることができます。現在、jQueryのみを使用しているので、ここでこれを行う方法を見つけようとしています。

私はjQuerytmplを見てきましたが、毎回同じコードをコピーしたいので、それは私が望んでいるものとは正確に一致していないようです。

今のところ、これが私のヘッダーだとしましょう:

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <a class="brand" href="#">Brand</a>
      <div class="nav-collapse collapse">
        <ul class="nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#about">About</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </div><!--/.nav-collapse -->
    </div>
  </div>
</div>

そして、それをテンプレートに置き換えて、ページにコピーするだけにします。提案?

4

1 に答える 1

0

わかりました。@JFKが提案しているのと同様に、jQueryでそれを行う方法を考え出しました。

コードを使用して、topbar.htmlという別のhtmlファイルを作成しました。

<div class="navbar navbar-inverse navbar-fixed-top">
  <div class="navbar-inner">
    <div class="container">
      <a class="btn btn-navbar" data-toggle="collapse" data-target=".nav-collapse">
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
        <span class="icon-bar"></span>
      </a>
      <a class="brand" href="#">Brand</a>
      <div class="nav-collapse collapse">
        <ul class="nav">
          <li class="active"><a href="#">Home</a></li>
          <li><a href="#about">About</a></li>
          <li><a href="#contact">Contact</a></li>
        </ul>
      </div><!--/.nav-collapse -->
    </div>
  </div>
</div>

次に、index.htmlに、jqueryに加えて、

<script src="http://ajax.microsoft.com/ajax/jquery.templates/beta1/jquery.tmpl.min.js"></script>

tmpl関数を含めるため。それから私はこれを行うことができます:

<script type="text/javascript">
    $.get('topbar.html', function(template) {

        // Use that stringified template with $.tmpl() and 
        //  inject the rendered result into the body.
        console.log(template);
        $("#topbar").html(template);
    });

</script>

jQuery tmplが何であるかを理解すれば、非常に簡単です。次に、追加のパラメーターをtmplに渡して、このテンプレートをカスタマイズできます。しかし、私は今のところそれほど派手なものは必要ありませんでした

于 2012-12-28T16:59:45.407 に答える