Inleiding
Ik heb een standaard jQuery file tree gepakt van internet voor mijn dev subdomein, natuurlijk is deze post niet om te laten zien hoe mooi dat werkt, ik krijg het script niet doen wat het zou moeten doen.
Ik heb zelf niet héél veel ervaring met jQuery maar ik snap wel wat er staat, jquery.js is de standaard jQuery (v1.4) file maar dat lijkt mij wel duidelijk.
De code
Ik heb al support gevraagd van de maker, maar die reageert niet op mijn mail en facebook berichten, hopelijk kan 1 van jullie mij helpen!
Alvast bedankt.
Ik heb een standaard jQuery file tree gepakt van internet voor mijn dev subdomein, natuurlijk is deze post niet om te laten zien hoe mooi dat werkt, ik krijg het script niet doen wat het zou moeten doen.
Ik heb zelf niet héél veel ervaring met jQuery maar ik snap wel wat er staat, jquery.js is de standaard jQuery (v1.4) file maar dat lijkt mij wel duidelijk.
De code
HTML: index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
| <html> <head> <script src="jquery.js" type="text/javascript"></script> <script src="jqueryFileTree.js" type="text/javascript"></script> <script type="text/javascript"> $(document).ready( function() { $('#fileTreeDemo_1').fileTree({ root: 'demo/', script: 'jqueryFileTree.php' }, function(file) { alert(file); }); </script> </head> <body> <h2>File Tree</h2> <div id="fileTreeDemo_1" class="demo"></div> </div> </body> </html> |
JavaScript: jqueryFileTree.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
| if(jQuery) (function($){ $.extend($.fn, { fileTree: function(o, h) { // Defaults if( !o ) var o = {}; if( o.root == undefined ) o.root = '/'; if( o.script == undefined ) o.script = 'jqueryFileTree.php'; if( o.folderEvent == undefined ) o.folderEvent = 'click'; if( o.expandSpeed == undefined ) o.expandSpeed= 500; if( o.collapseSpeed == undefined ) o.collapseSpeed= 500; if( o.expandEasing == undefined ) o.expandEasing = null; if( o.collapseEasing == undefined ) o.collapseEasing = null; if( o.multiFolder == undefined ) o.multiFolder = true; if( o.loadMessage == undefined ) o.loadMessage = 'Loading...'; $(this).each( function() { function showTree(c, t) { $(c).addClass('wait'); $(".jqueryFileTree.start").remove(); $.post(o.script, { dir: t }, function(data) { $(c).find('.start').html(''); $(c).removeClass('wait').append(data); if( o.root == t ) $(c).find('UL:hidden').show(); else $(c).find('UL:hidden').slideDown({ duration: o.expandSpeed, easing: o.expandEasing }); bindTree(c); }); } function bindTree(t) { $(t).find('LI A').bind(o.folderEvent, function() { if( $(this).parent().hasClass('directory') ) { if( $(this).parent().hasClass('collapsed') ) { // Expand if( !o.multiFolder ) { $(this).parent().parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); $(this).parent().parent().find('LI.directory').removeClass('expanded').addClass('collapsed'); } $(this).parent().find('UL').remove(); // cleanup showTree( $(this).parent(), escape($(this).attr('rel').match( /.*\// )) ); $(this).parent().removeClass('collapsed').addClass('expanded'); } else { // Collapse $(this).parent().find('UL').slideUp({ duration: o.collapseSpeed, easing: o.collapseEasing }); $(this).parent().removeClass('expanded').addClass('collapsed'); } } else { h($(this).attr('rel')); } return false; }); // Prevent A from triggering the # on non-click events if( o.folderEvent.toLowerCase != 'click' ) $(t).find('LI A').bind('click', function() { return false; }); } // Loading message $(this).html('<ul class="jqueryFileTree start"><li class="wait">' + o.loadMessage + '<li></ul>'); // Get the initial file list showTree( $(this), escape(o.root) ); }); } }); })(jQuery); |
Ik heb al support gevraagd van de maker, maar die reageert niet op mijn mail en facebook berichten, hopelijk kan 1 van jullie mij helpen!
Alvast bedankt.