Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5/6. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Объектно-ориентированное программирование на PHP. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

HTML+CSS+JavaScript

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум (новые сообщения вниз) Структурный форум

тема: ниспадающее меню

Сообщения:  [1-3] 

 
 автор: MOR(WAL)   (10.04.2007 в 10:52)   письмо автору
 
   для: ilyaILF   (10.04.2007 в 10:34)
 

спасибо огромное

   
 
 автор: ilyaILF   (10.04.2007 в 10:34)   письмо автору
 
   для: MOR(WAL)   (10.04.2007 в 09:48)
 

Конечно можно, для этого достаточно нарисовать в Фотошопе, к примеру, прямоугольник с двумя нижними закругленными краями, а так, как у вас все ячейки имеют фиксированную ширину 146px, то проблем с этим не возникнет.
НО, вы используете для главных пунктов меню тег <H1>, и из-за этого пункт меню "Развлечения" раздвигает ячейку таблицы и она становится уже не 146px, замените его на например <span> и пропишите ему стили шрифта.
После останется только добавить полученный рисунок с закругленными краями в последний пункт меню в качестве бэкгроунда, в цикле дописать условие и стиль последней ячейки каждого меню:
for (j=1;j<menu[i].length;j++) { 
//Создаём подменю[i][j]
if(j<menu[i].length){
x+='<tr><td onmouseover="FlashMeIn(this,'+i+','+j+')" onmouseout="FlashMeOut(this)" class="cooltext" width='+menu[i][0][5]+' onclick="clickmenu('+i+','+j+')"> '+menu[i][j][0]+' </td></tr>';
} else {
x+='<tr><td onmouseover="FlashMeIn(this,'+i+','+j+')" onmouseout="FlashMeOut(this)" style="background: transparent url(roundedrectangle.gif) no-repeat bottom center;" width='+menu[i][0][5]+' onclick="clickmenu('+i+','+j+')"> '+menu[i][j][0]+' </td></tr>';
}
}//Завершаем создание подменю[i][j] Конец цикла j

   
 
 автор: MOR(WAL)   (10.04.2007 в 09:48)   письмо автору
 
 

Есть скрипт нисподающего меню:
<script>
var icolor='#d6f4fe' //цвет текста при наведении курсора
var ibgcolor='b47800' //цвет фона при наведении курсора
var ocolor='black' //цвет текста обычный
var obgcolor='b47800' //цвет фона обычный
var x=''
var menu = new Array()
menu[0] = new Array()
menu[0][0] = new Array("<h1>Общение</h1>","#","",265,5,146) // имя, URL, статусная строка, left, top, width
menu[0][1] = new Array("Форум","#","CompVISION forever") //подменю: имя, URL, статусная строка
menu[0][2] = new Array("Чат","#","CompVISION")
menu[0][3] = new Array("Написать авторам","#","CompVISION")
menu[1] = new Array()
menu[1][0] = new Array("<h1>Статьи</h1>","#","",411,5,146)
menu[1][1] = new Array("Web-дизайн","#","")
menu[1][2] = new Array("Программное обеспечение","#","")
menu[1][3] = new Array("Hardware","#","")
menu[2] = new Array()
menu[2][0] = new Array("<h1>Развлечения</h1>","#","",557,5,146)
menu[2][1] = new Array("Игры","#","")
menu[2][2] = new Array("Юмор","#","")
menu[3] = new Array()
menu[3][0] = new Array("<h1>Услуги</h1>","#","",703,5,146)
menu[4] = new Array()
menu[4][0] = new Array("<h1>Новости</h1>","#","",849,5,146)
menu[5] = new Array()
menu[5][0] = new Array("<h1>Ссылки</h1>","#","",995,5,151)
menu[5][1] = new Array("Обмен","#","")
menu[5][2] = new Array("Предложение","#","")
menu[5][3] = new Array("Спрос","#","")</script>
<script>
function buildmenu() {
for (i=0;i<menu.length;i++) {
//Создаём основу таблицы - только начальные тэги
x+='<table bgcolor="b47800" border="0" cellspacing="0" cellpadding="0" style="position:absolute; left: '+menu[i][0][3]+'px; cursor:hand;"'
if (menu[i].length != 1) {x+='onmouseout="item(subm'+i+')" onmouseover="item(subm'+i+')"'}
x+='width='+menu[i][0][5]+'>'
//Теперь создаём меню[i][0]
x+='<tr><td onmouseover="FlashMeIn(this,'+i+','+0+')" onmouseout="FlashMeOut(this)" class="cooltextmenu" width='+menu[i][0][5]+' onclick="clickmenu('+i+','+0+')"> '+menu[i][0][0]+' </td></tr>';
//Теперь пора переходить к созданию подменю[i]
x+='<tr id=subm'+i+' style="display:none" bgcolor='+obgcolor+' ><td align="left" width='+menu[i][0][5]+' ><table border="0" cellpadding="2" cellspacing="0">';
for (j=1;j<menu[i].length;j++) {
//Создаём подменю[i][j]
x+='<tr><td onmouseover="FlashMeIn(this,'+i+','+j+')" onmouseout="FlashMeOut(this)" class="cooltext" width='+menu[i][0][5]+' onclick="clickmenu('+i+','+j+')"> '+menu[i][j][0]+' </td></tr>';
}//Завершаем создание подменю[i][j] Конец цикла j
//Завершаем создание подменю[i]
x+='</table></td></tr>';
//Завершаем создание меню[i]
x+='</table>';
//Выводим на экран меню[i] вместе с подменю[i]
document.write(x);
//Теперь очищаем строку
x='';
}//Конец цикла i. Завершение функции для меню[i]
}//Конец функции
function item(et) {
if (et.style.display=="block")
{et.style.display="none"}
else {et.style.display="block"}
}
function FlashMeIn(isrc,x,y) {
isrc.style.color=icolor
isrc.style.backgroundColor=ibgcolor
window.status=menu[x][y][1]
}
function FlashMeOut(osrc) {
osrc.style.color=ocolor
osrc.style.backgroundColor=obgcolor
window.status=''
}
function clickmenu(x,y) {
s=menu[x][y][1]
if (s.indexOf('javascript:') == 0) eval(s)
else if (s != '') window.location.href = s
}
buildmenu()
</script>
можно ли сделать так, чтобы оно(меню) было без острых углов? если можно то как? заранее благодарю...

   

Сообщения:  [1-3] 

Форум разработан IT-студией SoftTime
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования