Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- /* Create a TreeView jQuery Plugin
- Initially only the top items must be visible
- On item click
- If its children are hidden (collapsed), they must be made visible (expanded)
- If its children are visible (expanded), they must be made hidden (collapsed) */
- <!DOCTYPE html>
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <title></title>
- <style>
- .hidden
- {
- display: none;
- }
- </style>
- </head>
- <body>
- <ul id="tree">
- <li> Item
- <ul>
- <li>Inner Item
- <ul>
- <li>Most Inner Item</li>
- </ul>
- </li>
- </ul>
- </li>
- <li> Item
- <ul>
- <li>Inner Item
- <ul>
- <li>Most Inner Item</li>
- </ul>
- </li>
- </ul>
- </li>
- <li> Item
- <ul>
- <li>Inner Item
- <ul>
- <li>Most Inner Item</li>
- </ul>
- </li>
- </ul>
- </li>
- <li>Item
- <ul>
- <li> Inner Item
- <ul>
- <li>Most Inner Item</li>
- </ul>
- </li>
- </ul>
- </li>
- </ul>
- <script src="jQuery.js"></script>
- <script>
- (function ($) {
- // fn -> adds plugin
- $.fn.treeView = function () {
- var element = this;
- element.find("li ul").addClass("hidden");
- element.on("click", function (ev) {
- if ($(ev.target.firstElementChild).hasClass("hidden")) {
- $(ev.target.firstElementChild).removeClass("hidden");
- } else {
- $(ev.target.firstElementChild).addClass("hidden")
- }
- });
- return this;
- }
- }(jQuery));
- $(document).ready(function () {
- $("#tree").treeView();
- });
- </script>
- </body>
- </html>
Advertisement
Add Comment
Please, Sign In to add comment