0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

【初心者向け】jQuery dynatreeをローカルで使えるようにする

Last updated at Posted at 2020-12-27

はじめに

dynatree は下図のようなツリービューを作成できるjQuery用のプラグインです。
業務で使用する機会があったので、今回はローカル環境で使えるようにする方法をまとめておきたいと思います。
dynatree_sample.png
ちなみに、今では dynatree ではなく Fancytree というプラグインの使用が推奨されているようなので、
いまから dynatree を導入しようという方は、Fancytreeの方をご参照ください。
dynatree ではこれ以上、新規機能の追加はないようです:https://github.com/mar10/dynatree

目次

dynatreeのダウンロード
必要なファイル
フォルダ構成
dynatreeを使用する

今回はデスクトップの test フォルダとその中の index.html というファイルを使って作業していきます。
index.html は作ったばかりの空のファイルです。
場所もファイル名も自由なので、お好きなフォルダで作業して頂ければと思います。
dynatree1.png

dynatreeのダウンロード

↓↓ こちらのリンクから dynatree-master.zip をダウンロードします。↓↓
https://github.com/mar10/dynatree
dynatree4.png
↓↓ 展開するとこんな感じです。↓↓
この中から必要なファイルだけを test フォルダにコピペします。
dynatree5.png

必要なファイル

dynatree の使用に必要なファイルは以下の通りです。
これらのファイル(またはフォルダ)を test フォルダにコピペします。

  • jquery.dynatree.js(jquery.dynatree.min.jsでも可)
  • jquery.js(jquery.min.jsでも可)
  • jquery-ui.custom.js(jquery-ui.custom.min.jsでも可)
  • ui.dynatree.css(& 同フォルダ内のgifファイル群)→ skinフォルダskin-vistaフォルダごとコピペすればOKです。
  • jquery.cookie.js (cookieを利用しない場合は不要)

jquery.js (version 1.10.2)、jquery.cookie.js (version 1.4.1)は jQuery プラグインのファイル、
jquery-ui.custom.js (version 1.9.2)、は jQuery UI プラグインのファイルなので、
より新しいバージョンのファイルをすでに持っている方は、そちらを使っていただいても大丈夫です。
(今後jQueryのバージョンが進むとdynatreeに対応しなくなる可能性もあるので、その場合は dynatree 付属の方をご利用ください)

.min.jsとなっているのはこれらのファイルの縮小版です。
中身は改行などのムダが省かれて解読困難になっていますが、内容自体は .js のものと同じです。
どちらを使っても問題なく動くので、今回は中身を理解しやすい .js ファイルを使います。
(参考:ミニフィ (minify)とは|「分かりそう」で「分からない」でも「分かった」気になれるIT用語辞典

フォルダ構成

フォルダ構成は自由で構いません。
ただし、ui.dynatree.css だけは、付属のgifファイルが同じフォルダ内になければうまく動かないので、
skinフォルダskin-vistaフォルダ はフォルダごと test 内にコピペします。

今回は test フォルダの直下に css フォルダと js フォルダを作成し、下図のようにファイルとフォルダをコピペします。
これで準備は完了です。
dynatree7.png

最終的なtestフォルダの構成はこんな感じです
[test]
|   index.html
|   
+---[css]
|   +---[skin]
|   |       icons-rtl.gif
|   |       icons.gif
|   |       loading.gif
|   |       ui.dynatree.css
|   |       vline-rtl.gif
|   |       vline.gif
|   |       
|   \---[skin-vista]
|           icons.gif
|           loading.gif
|           ui.dynatree.css
|           
\---[js]
        jquery-ui.custom.js
        jquery.cookie.js
        jquery.dynatree.js
        jquery.js

dynatreeを使用する

ここまで準備ができたら、index.html の中で dynatree を使っていきます。
dynatreeを使うには、上で準備した一連のファイルを index.html の中で読み込めばOKです。
読み込むためには、ファイル名を index.html からの相対パスで指定します。
今回は cookie を利用しないので、 jquery.cookie.js は不要です。

ソースコードはこちらから拝借しました。

index.html
<html><head>
<meta charset="utf-8">

<!-- ★  ui.dynatree.css を読み込む -->
<link href="css/skin-vista/ui.dynatree.css" rel="stylesheet" type="text/css" id="skinSheet">

<style type="text/css">
<!--body {width: 400px;}-->
</style>
</head>
<body>

    <h5>Dynatreeのサンプルです。</h5>
 
    <div id="tree">
        <ul id="treeData" style="display: none;">
            <li id="id1" title="ファイル">ファイル
            <li id="id2" class="folder">フォルダ
                <ul>
                    <li id="id2.1">ファイル
                    <ul>
                        <li id="id2.1.1">子ファイル1
                        <li id="id2.1.2">子ファイル2
                    </ul>
                </ul>
            </li>
        </ul>
    </div>

    <!-- ★ .jsファイルを読み込む -->
    <script type="text/javascript" src="js/jquery.js"></script>
    <script type="text/javascript" src="js/jquery-ui.custom.js"></script>
    <script type="text/javascript" src="js/jquery.dynatree.js"></script>
 
    <!-- ★ dynatreeを使用 -->
    <script>
        var tree = $("#tree").dynatree();
    </script>
	
</body></html>

なお、今回は skin-vistaui.dynatree.css を使いましたが、skin の方を使うとツリービューのレイアウトが変わります。
dynatree8.png


以上が、dynatreeを使うまでの手順です。お疲れ様でした。

0
2
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
2

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?