Новичок
Профиль
Группа: Участник
Сообщений: 1
Регистрация: 9.12.2008
Репутация: нет Всего: нет
|
Помогите, не получается поставить ссылку в меню. Я пишу так: Код | treeItems['item6702'] = new treeItem('item6702', 'item667', false, 'наше агенство', 'http://www.diplomattour.ru/company.html');
|
Вот код: Код | opera = (navigator.userAgent.indexOf('Opera') >= 0)? true : false; ie = (document.all && !opera)? true : false; dom = (document.getElementById)? true : false;
function putElem(elemId,displayValue) { if (displayValue) document.getElementById(elemId).style.display = (ie)? "block" : displayValue; else document.getElementById(elemId).style.display = "block"; }
function removeElem(elemId) { document.getElementById(elemId).style.display = "none"; } function visibleAdd(main, where, sub) { var resArr = new Array(); for (i in main) { resArr[resArr.length] = main[i]; if (main[i] == where) for (j in sub) resArr[resArr.length] = sub[j]; } return resArr; } function visibleRemove(main, sub) { for (i in main) for (j in sub) if (main[i] == sub[j]) delete main[i]; return main; }
function isItemVisible(itemId) { for (var v in visible) { if (visible[v] == itemId) return true; } return false; } function visibleChildren(id) { var vChildren = new Array(); if (treeItems[id].children.length > 0) { var j = 0; for (j in treeItems[id].children) { vChildren[vChildren.length] = treeItems[id].children[j]; if (treeItems[treeItems[id].children[j]].children.length > 0 && treeItems[treeItems[id].children[j]].isOpen) { vChildren = vChildren.concat(visibleChildren(treeItems[id].children[j])); } } } return vChildren; } function changeTree(which) { var changingElems = visibleChildren(which); if (treeItems[which].isOpen) { visible = visibleRemove(visible,changingElems); for (i in changingElems) removeElem(changingElems[i]); treeItems[which].isOpen = false; } else { visible = visibleAdd(visible,which,changingElems); for (i in changingElems) putElem(changingElems[i],"table-row"); treeItems[which].isOpen = true; } } /* */
function treeItem(id,parent,isOpen, text,link) { this.id = id; this.parent = parent; this.children = new Array(); if (parent != '') { treeItems[parent].children[treeItems[parent].children.length] = id; this.level = treeItems[parent].level + 1; } else this.level = 0; this.isOpen = isOpen; this.text = text; return this; }
treeItems = new Array(); treeItems['item666'] = new treeItem('item666', '', true, 'Главная', 'http://www.diplomattour.ru/index.html'); treeItems['item667'] = new treeItem('item667', 'item666', false, 'О компании', ''); treeItems['item6702'] = new treeItem('item6702', 'item667', false, 'наше агенство', 'http://www.diplomattour.ru/company.html'); treeItems['item6703'] = new treeItem('item6703', 'item667', false, 'сотрудничество', 'http://www.diplomattour.ru/sotrudnichestvo.html'); treeItems['item6704'] = new treeItem('item6704', 'item667', false, 'контакты', 'http://www.diplomattour.ru/contact.html');
treeItems['item668'] = new treeItem('item668', 'item666', false, 'Авиабилеты', ''); treeItems['item6802'] = new treeItem('item6802', 'item668', false, 'поиск авиабилетов', 'http://www.diplomattour.ru/poisk_avia.html'); treeItems['item6803'] = new treeItem('item6803', 'item668', false, 'авиакомпании', 'http://www.diplomattour.ru/aviocompany.html'); treeItems['item6804'] = new treeItem('item6804', 'item668', false, 'аэропорты', 'http://www.diplomattour.ru/aeroporti.html');
treeItems['item669'] = new treeItem('item669', 'item666', false, 'Ж/д билеты', ''); treeItems['item6902'] = new treeItem('item6902', 'item669', false, 'поиск ж/д билетов', 'http://www.diplomattour.ru/poisk_jd.html'); treeItems['item6903'] = new treeItem('item6903', 'item669', false, 'ж/д вокзалы', 'http://www.diplomattour.ru/jd_vokzali.html'); treeItems['item6904'] = new treeItem('item6904', 'item669', false, 'информация', 'http://www.diplomattour.ru/jd_info.html');
treeItems['item670'] = new treeItem('item670', 'item666', false, 'Гостиницы', ''); treeItems['item7002'] = new treeItem('item7002', 'item670', false, 'России и стран СНГ', 'http://www.diplomattour.ru/poisk_gr.html'); treeItems['item7003'] = new treeItem('item7003', 'item670', false, 'за рубежом', 'http://www.diplomattour.ru/poisk_gz.html');
treeItems['item671'] = new treeItem('item671', 'item666', false, 'Туры и круизы', ''); treeItems['item7101'] = new treeItem('item7101', 'item671', false, 'пляжный отдых', 'http://www.diplomattour.ru/'); treeItems['item7102'] = new treeItem('item7102', 'item671', false, 'экскурсионный отдых', 'http://www.diplomattour.ru/'); treeItems['item7103'] = new treeItem('item7103', 'item671', false, 'комбинированные туры', 'http://www.diplomattour.ru/'); treeItems['item7104'] = new treeItem('item7104', 'item671', false, 'морские круизы', 'http://www.diplomattour.ru/'); treeItems['item7105'] = new treeItem('item7105', 'item671', false, 'речные круизы', 'http://www.diplomattour.ru/');
treeItems['item672'] = new treeItem('item672', 'item666', false, 'Визовая поддержка', ''); treeItems['item7201'] = new treeItem('item7201', 'item672', false, 'для граждан РФ', 'http://www.diplomattour.ru/vizi_rosg.html'); treeItems['item7202'] = new treeItem('item7202', 'item672', false, 'для иностранных граждан', 'http://www.diplomattour.ru/vizi_ing.html');
treeItems['item673'] = new treeItem('item673', 'item666', false, 'Страхование', ''); treeItems['item7301'] = new treeItem('item7301', 'item673', false, 'для граждан РФ', 'http://www.diplomattour.ru/straxovanie_gr.html'); treeItems['item7302'] = new treeItem('item7302', 'item673', false, 'для иностранных граждан', 'http://www.diplomattour.ru/straxovanie_ig.html');
treeItems['item674'] = new treeItem('item674', 'item666', false, 'VIP-услуги', 'http://www.diplomattour.ru/vip_zal.html'); treeItems['item675'] = new treeItem('item675', 'item666', false, 'Трансферы', 'http://www.diplomattour.ru/transpher.html'); visible = new Array(); for (var i in treeItems) { if (treeItems[i].level == 0) { visible[visible.length] = treeItems[i].id; if (treeItems[i].isOpen) visible = visible.concat(visibleChildren(treeItems[i].id)); } }
|
Код |
.treeCellL1 { padding-left: 0px; padding-right: 5px; } .treeCellL2 { padding-left: 20px; padding-right: 5px; } .treeCellL3 { padding-left: 40px; padding-right: 5px; } .treeText { font-size: smaller; font-family: arial, arial cyr, sans serif; padding: 1px 3px 1px 3px; border-width: 1px; border-style: none; border-color: none; cursor: default; white-space: nowrap; } .treeTextHover { font-size: 12px; font-family: arial, arial cyr, sans serif; background-color: #ccc; padding: 0px 2px 0px 2px; border-width: 1px; border-style: solid; border-color: #999; cursor: 'pointer'; white-space: nowrap; } .treeTextSelected { font-size: 12px; font-family: arial, arial cyr, sans serif; padding: 0px 2px 0px 2px; background-color: #deedff; border-width: 1px; border-style: solid; border-color: #999; margin-right: 5px; cursor: 'default'; white-space: nowrap; }
|
Код |
function mOverTreeText(e) { if (ie) event.toElement.className = 'treeTextHover'; else if (dom) e.currentTarget.className = 'treeTextHover'; //alert('in: '+e.currentTarget.id) }
function mOutTreeText(e) { if (ie) event.fromElement.className = 'treeText'; else if (dom) e.currentTarget.className = 'treeText'; //alert('out: '+e.currentTarget.id) }
colImg = new Image(); colImg.src = 'collapse.gif'; expImg = new Image(); expImg.src = 'expand.gif';
function changeTreeState(e) { if (ie) var imgClicked = event.srcElement; else if (dom) var imgClicked = e.currentTarget; imgClicked.src = (treeItems[imgClicked.id.substr(5)].isOpen)? colImg.src : expImg.src; if (imgClicked) changeTree(imgClicked.id.substr(5)); }
function buildTree(tableBody) { if (ie || (dom && !ie)) { parentTableBody = document.getElementById(tableBody); for (var i in treeItems) { // Создаем внешную трышку для пункта меню var newItem = document.createElement('tr'); newItem.id = treeItems[i].id; // Создаем в трышке ячейку с правильными отступами. var theCell = document.createElement('td'); theCell.bgColor = '#dfdfdf'; theCell.setAttribute('nowrap','nowrap');
// Сделаем табличку быстренько... var innerTable = document.createElement('table'); innerTable.setAttribute('border',0); innerTable.setAttribute('cellPadding',0); innerTable.setAttribute('cellSpacing',0); innerBody = document.createElement('tbody'); innerRow = document.createElement('tr'); // Делаем ячейку для отступа var innerMarginCell = document.createElement('td'); innerMarginCell.setAttribute('width',treeItems[i].level*20); innerMarginCell.setAttribute('nowrap','nowrap'); innerRow.appendChild(innerMarginCell); // Делаем ячейку для картинки var innerSwitchCell = document.createElement('td'); innerSwitchCell.setAttribute('width',16); innerSwitchCell.setAttribute('nowrap','nowrap'); // A потом засовываем картинку var switchImg = document.createElement('img'); // Выясняем какую именно картинку нужно вставить if (treeItems[i].children.length > 0) if (treeItems[i].isOpen) var leafPic = 'expand.gif'; else var leafPic = 'collapse.gif'; else var leafPic = 'leaf.gif'; switchImg.setAttribute('src',leafPic); switchImg.setAttribute('width',16); switchImg.setAttribute('height',16); switchImg.setAttribute('border',0); switchImg.setAttribute('hspace',2); switchImg.setAttribute('align','top'); switchImg.setAttribute('id','leaf_'+treeItems[i].id); switchImg.setAttribute('name','leaf_'+treeItems[i].id); if (treeItems[i].children.length > 0) if (ie) switchImg.onclick = changeTreeState; else if (dom) switchImg.addEventListener("click", changeTreeState, true); // Добавляем картинку к тъдышке и потом строке таблички innerSwitchCell.appendChild(switchImg); innerRow.appendChild(innerSwitchCell);
// Делаем ячейку для текста var innerTextCell = document.createElement('td'); innerTextCell.setAttribute('nowrap','nowrap'); innerTextCell.setAttribute('height',16); innerTextCell.setAttribute('id','cell'+treeItems[i].id); innerTextCell.innerHTML = treeItems[i].text;
// var textItself = document.createTextNode(treeItems[i].text); // innerTextCell.appendChild(textItself); innerTextCell.className = 'treeText'; if (ie) { innerTextCell.onmouseover = mOverTreeText; innerTextCell.onmouseout = mOutTreeText; } else if (dom) { innerTextCell.style.cursor = 'pointer'; innerTextCell.addEventListener("mouseover", mOverTreeText, true); innerTextCell.addEventListener("mouseout", mOutTreeText, true); }
innerRow.appendChild(innerTextCell); innerBody.appendChild(innerRow); innerTable.appendChild(innerBody); theCell.appendChild(innerTable); newItem.appendChild(theCell); if (!isItemVisible(treeItems[i].id)) newItem.style.display = 'none'; parentTableBody.appendChild(newItem); } for (i in treeItems) { // alert(newItem[i])
} }}
|
Код | </head> <LINK href="styles.css" type=text/css rel=stylesheet> <META http-equiv="Content-Type" content="text/html; charset=windows-1251"> <META name="description" content="" /> <META NAME="keywords" CONTENT=""> </head> <body bgcolor="#ffffff" onLoad="buildTree('treeTableBody');">
|
M Aliance | Пожалуйста, пользуйтесь кнопкой код!
| Это сообщение отредактировал(а) Aliance - 9.12.2008, 17:56
|