Я сам программирую в VB, а в java script практически 0, но по работе требуется импортировать java в VB, чтобы программа выводила в результате список папок на сервере и при нажатии на папку выпадал список файлов, скрипт я подобрал и импортировал, но в нем список файлов выпадает при наведении, а надо при нажатии!!! и также надо выводимый список разделить на 3 столбика, что у меня опять же не получается, плиз, программеры помагите по братски кто умеет, начальство достало с етой темой (( вот скрипт
Короче:
1)Сделать чтобы список файлов открывался при нажатии а не наведении
2) Сделать чтобы список папок был в несколько столбцов
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.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
92.
93.
94.
95.
96.
97.
98.
99.
100.
101.
102.
103.
104.
105.
106.
107.
108.
109.
110.
111.
112.
113.
114.
115.
116.
117.
118.
119.
120.
121.
122.
123.
124.
125.
126.
127.
128.
129.
130.
131.
132.
133.
134.
135.
136.
137.
138.
139.
140.
141.
142.
143.
<HTML>
<HEAD>
<TITLE>JavaScript Menu</TITLE>
<STYLE TYPE="text/css">
/* Стили для ссылок в выпадающем меню */
.common {
display:block;
float:left; clear:left;
color:# 666 ; font:12px arial;
}
.parent {
display:block;
float:left; clear:both;
color:#66AA66; font:12px arial;
}
.level_1 {padding-left: 0 ;}
.level_2 {padding-left:30px;}
.level_3 {padding-left:60px;}
</STYLE>
<SCRIPT TYPE="text/javascript">
// ******************
// Объект-массив c информацией о меню
// ******************
var menuArray = {
'Папка 1' : [ 'Папка 1', {
'HTTP://DHTML/_023.htm' : [ '1) _023.htm'],
'HTTP://DHTML/_029.htm' : [ '2) _029.htm'],
'HTTP://DHTML/Меню без фреймов.htm' : [ '3) Меню без фреймов.htm']
}],
'Папка 2' : [ 'Папка 2', {
'HTTP://Поиск и удаление всех файлов по шаблону/Form1.frm' : [ '1) Form1.frm'],
'HTTP://Поиск и удаление всех файлов по шаблону/Form1.frx' : [ '2) Form1.frx'],
'HTTP://Поиск и удаление всех файлов по шаблону/KillAllFileS.exe' : [ '3) KillAllFileS.exe'],
'HTTP://Поиск и удаление всех файлов по шаблону/Project1.vbp' : [ '4) Project1.vbp'],
'HTTP://Поиск и удаление всех файлов по шаблону/Project1.vbw' : [ '5) Project1.vbw']
}],
'Папка 3' : [ 'Папка 3', {
'HTTP://DHTML/_024.htm' : [ '1) _024.htm'],
'HTTP://DHTML/_025.htm' : [ '2) _025.htm'],
'HTTP://DHTML/Меню без фреймов1.htm' : [ '3) Меню без фреймов1.htm']
}],
}]}
// ******************
// Глобальные переменные для работы функций
// ******************
var menuWaitTimer = {};
var menuOpenedCount = 0 ;
// ******************
// Функция формирования HTML-кода меню и вывода на страницу
// ******************
function drawJSMenu(containerId, hash, path) {
// ----------- Константы ------------
var commonClassName = "common";
var parentClassName = "parent";
var levelClassPrefix = "level_";
var menuWaitInterval = 500 ; // ms
// ----------- Переменные ------------
var container = document.getElementById(containerId);
var html = _class = mouseOverOut = id = "";
var i;
var idArray = []
// ----------- Функции ------------
// Рекурсивная функция для прохождения по мно
var cicleFunc = function(code, hash, level, parentId) {
if (typeof level != "undefined" && level != 1 ) code += "<span id='b" + parentId + "' style='display:none;'>\n";
for (i in hash) {
var randId = parseInt(Math.random() * 1e10).toString() + parseInt(Math.random() * 1e10);
_class =
((typeof hash[i][ 1 ] != "undefined") ? parentClassName : commonClassName) +
" " + levelClassPrefix + level;
if (typeof hash[i][ 1 ] != "undefined") {
id = " id='a" + randId + "'";
idArray.push(randId);
} else id = 0 ;
code += "<a" + (id ? id : "") + " class='" + _class + "' href='" + path + i + "'>" + hash[i][ 0 ] + "</a>\n";
if (typeof hash[i][ 1 ] != "undefined") code += cicleFunc(html, hash[i][ 1 ], level+ 1 , randId);
}
if (typeof level != "undefined" && level != 1 ) code += "</span>\n";
return code;
}
// ----------- Добавление HTML-кода меню на страницу ------------
html = cicleFunc(html, hash, 1 );
container.innerHTML = html;
// ----------- Добавление обработчиков событий ------------
for (i = 0 ; i < idArray.length; i++) {
document.getElementById("a" + idArray[i]).onmouseover = function() {
menuOpenedCount++;
var absId = this.id.substring( 1 , this.id.length);
document.getElementById("b" + absId).style.display = "";
}
document.getElementById("a" + idArray[i]).onmouseout = function() {
menuOpenedCount--;
var absId = this.id.substring( 1 , this.id.length);
if (typeof menuWaitTimer[absId] == "undefined" || menuWaitTimer[absId] == null) {
menuWaitTimer[absId] = setInterval("hideJSMenu('" + absId + "')", menuWaitInterval);
}
}
document.getElementById("b" + idArray[i]).onmouseover = function() {
menuOpenedCount++;
var absId = this.id.substring( 1 , this.id.length);
if (typeof menuWaitTimer[absId] != "undefined") {
clearInterval(menuWaitTimer[absId]);
menuWaitTimer[absId] = null;
}
}
document.getElementById("b" + idArray[i]).onmouseout = function() {
menuOpenedCount--;
var absId = this.id.substring( 1 , this.id.length);
if (typeof menuWaitTimer[absId] == "undefined" || menuWaitTimer[absId] == null) {
menuWaitTimer[absId] = setInterval("hideJSMenu('" + absId + "')", menuWaitInterval);
}
}
}
}
// ******************
// Функция для убирания выпадушек, запускается по таймауту
// ******************
function hideJSMenu(id) {
if (menuOpenedCount <= 0 ) {
menuOpenedCount = 0 ;
if (typeof menuWaitTimer[id] != "undefined") {
clearInterval(menuWaitTimer[id]);
menuWaitTimer[id] = null;
}
if (document.getElementById("b" + id)) {
document.getElementById("b" + id).style.display = "none";
}
}
}
</SCRIPT>
</HEAD>
<BODY>
<SCRIPT TYPE="text/javascript">
document.write (
"<table width='30%'><tr><td style='border:1px solid #FFF;' id='containerId'></td></tr></table>"
);
drawJSMenu("containerId", menuArray, "/");
</SCRIPT>
</BODY>
</HTML>