Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
netadmin.ws
Панель управления Регистрция свободна! Календарь Список пользователей Часто задаваемые вопросы Поиск по форуму Архив скриптов Главная   
Форум сетевых администраторов
Форум сетевых администраторов Форум сетевых администраторов » Программирование » Java/Java Scripts » Вопрос по выпадающему меню....
Предыдущая тема     Следующая тема
Автор
Тема    Новая тема     Ответить на эту тему
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
Вопрос по выпадающему меню.... [сообщение #61036]

значится так есть скрипт который при наводе мышкой на кнопку заставляет из кнопки (вниз) выезжать менюшке..... но вот только при разных разрешениях экрана менюшка выпадает по разному.... при моем 1280х960 оно выпадает правильно... а допустим при 800х600 смещается сильно влево.... может кто нибудь знает как его заставлять выпадать при всех разрешениях экрана правильно.... (пример в атаче) вот на нем меню не в том месте должно быть под кнопкой...
сам скрипт написан на джаве.... подскажите плиз что нужно сделать???...

Файл: 1.gif
Был скачан 14 раз(а).

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-02-2004 01:16
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
polo
Администратор
Средний рейтинг: 4.77 | Оценок: 106
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2001
Место проживания:
Публикаций: 4642
Статус: polo в оф-лайне
[сообщение #61052]

код скрипта давай.

__________________
Всегда есть решение.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-02-2004 13:08
Нажмите сюда для просмотра профайла polo Отправить Персональное сообщение polo Посетить домашнию страничку polo! Найти сообщения от polo Добавить polo в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
RaZEr
Модератор
Средний рейтинг: 4.19 | Оценок: 16
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Mar 2002
Место проживания: Россия
Публикаций: 769
Статус: RaZEr в оф-лайне
[сообщение #61053]

Что-то так старательно закрашивалось на скрине, что вообще не очень понятно почему тебе кто-то должен помогать если нет даже доверия.

__________________
The time was broken ...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-02-2004 13:13
Нажмите сюда для просмотра профайла RaZEr Отправить Персональное сообщение RaZEr Найти сообщения от RaZEr Добавить RaZEr в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61071]

RaZEr
дык это не доверия нету это по правилам нельзя насколько я понял... там адрес сайта написан был.... если хочешь могу тебе его в приват выслать.... мне не жалко....

код скрипта:

PHP:


function CreateMenu(n,x,y,w,str,url,parent)
{
  var 
s,lt;
  if (
ns4)
  {
    
lt="LAYER";
  }
  else
  {
    
lt="DIV";
  }
  
  if (
ns4)
  {
    if (
parent==null || parent=="")
    {
      
s='<'+lt+ ' id=menu'+n+' left='+x+' top='+y+' width='+w+' visibility=hide onmouseover="showMenus('menu'+n+'','on','')" onmouseout="killMenus('menu'+n+'')">';
    }
    else
    {
      
s='<'+lt+' id=menu'+n+' left='+x+' top='+y+' width='+w+' visibility=hide onmouseover="showMenus('menu'+n+','+parent+'','on','')" onmouseout="killMenus('menu'+n+','+parent+'')">';
    }
  }
  else
  {
    
s='<'+lt+' id=menu'+n+' style="VISIBILITY: hidden; Z-INDEX: '+n+'; POSITION: absolute; LEFT: '+x+'px; TOP: '+y+'px; WIDTH: '+w+'px;">';
  }
  
s+='<table border=1 bordercolor="1B4D1B" cellspacing=0 cellpadding=1 >';
  var 
mitems = str.split('|');
  var 
urls = url.split('|');
  for (
i=0;i<mitems.length;i++)
  {
    
turl=String(urls[i]);
    
mtype=String(urls[i]).substring(0,4);
    if (
parent==null || parent=="")
    {
      
s+='<tr bgcolor="#1F581F" height=20><td onmouseover="this.style. backgroundColor='#112F11';showMenus('menu'+n+'
','on','')" onmouseout="this.style. backgroundColor='#1F581F';killMenus('menu'+n+'
')"><a href="'+turl+'" class="KlanMenu"><div style="width:100%"><img src="images/gan.gif" width=12 height=12>&nbsp'+mitems[i]+'&nbsp;</div></a>';
    }
    else
    {
      
s+='<tr><td onmouseover="this.style. backgroundColor='#000000';showMenus(''+parent+'
,menu'+n+'','on','')" onmouseout="this.style. backgroundColor='#000000';killMenus(''+parent+'
,menu'+n+'')"><a href="'+turl+'" class="KlanMenu"><div style="width:100%">&nbsp;<img src="" width=6 height=6>&nbsp;'+mitems[i]+'&nbsp;</div></a>';
    }
    if(
i!=mitems.length-1)
    {
      
s+='</td></tr>';
    }
    else
    {
      
s+='</td></tr>';
    }
  }
  
s+='</table>';
  
s+='</'+lt+'>\n';
  
document.write(s);
  
LMoveTo('menu'+n,x,y);
}

function 
Align(v,a)
{
  if (
v < a)
  {
    return 
a;
  }
  else
  {
    return 
v;
  }
}

function 
AreaWidth()
{
  if(
oper || ns4)
  {
    return(
window.innerWidth); 
  }
  else if(
ie4)
  {
    return(
document.body.clientWidth);
  }
}

function 
AreaHeight()
{
  if(
ns4 || oper)
  {
    return(
window.innerHeight);
  }
  else if(
ie4)
  {
    return(
document.body.clientHeight);
  }
}

function 
LMoveTo(ly,X,Y)
{
  if(
ie4)
  {
    
document.all[ly].style.pixelLeft=X;
    
document.all[ly].style.pixelTop=Y;
  }
  else if(
oper)
  {
    var 
el = document.getElementById(ly);
    
el.style.pixelLeft=X;
    
el.style.pixelTop=Y;
  }
  else if(
ns5)
  {
    var 
el = document.getElementById(ly);
    
el.style.left=X;
    
el.style.top=Y;
  }
  else if(
ns4)
  {
    
document.layers[ly].left=X;
    
document.layers[ly].top=Y;
  }
}

function 
LShow(ly)
{
  if (
ie4)
  {
    
document.all[ly].style.visibility='visible';
  }
  else if(
ns4)
  {
    
document.layers[ly].visibility='show';
  }
  else if(
oper || ns5)
  {
    
document.getElementById(ly).style.visibility='visible';
  }
}

function 
LGetVis(ly)
{
  if(((
ie4 || oper) && document.all[ly].style.visibility=='visible')||(ns4 && document.layers[ly].visibility=='show'))
  {
    return(
1);
  }
  else 
  {
    return(
0); 
  }
}

function 
LHide(ly)
{
  if(
ie4)
  {
    
document.all[ly].style.visibility='hidden';
  }
  else if(
ns4)
  {
    
document.layers[ly].visibility='hide';
  }
  else if(
oper|| ns5)
  {
    
document.getElementById(ly).style.visibility='hidden';
  }
}

function 
LToggle(ly)
{
  if(
ie4)
  {
    if(
document.all[ly].style.visibility == 'hidden')
    {
      
document.all[ly].style.visibility = 'visible';
    }
    else
    {
d
      ocument
.all[ly].style.visibility = 'hidden';
    }
  }
  else if(
ns4)
  {
    if(
document.layers[ly].visibility == 'hide') 
    {
      
document.layers[ly].visibility = 'show';
    }
    else
    {
      
document.layers[ly].visibility = 'hide';
    }
  }
  else if(
oper|| ns5)
  {
    if(
document.getElementById(ly).style.visibility == 'hidden')
    {
      
document.getElementById(ly).style.visibility = 'visible';
    }
    else 
    {
      
document.getElementById(ly).style.visibility = 'hidden';
    }
 ;}
}

var 
layertimer;
var 
lastmenues;
var 
active = 0;

function 
killMenus(strWen, strStatus)
{
  
layertimer = setTimeout("showMenus('"+strWen+"', 'off')", 300);
  return 
false;
}

function 
killMenusNS(strWen)
{
  if (
ns4)
  {
    
killMenus(strWen);
  }
}

function 
showMenus(strWen, strStatus, strCoord)
{
  if(
strStatus == "on")
  {
    if(
layertimer)
    {
      
clearTimeout(layertimer)
    }
  }
  var 
tempWen = strWen.split(",");
  var 
strOut="";
  if(
DOCloaded)
  {
    
clearTimeout(active);
    if(
lastmenues)
    {
      
tempLastmenues = lastmenues.split(",");
      for (
i=0;i<tempLastmenues.length;i++)
      {
        
LHide(tempLastmenues[i]);
      }
      
lastmenues = null;
    }
    if(
strStatus=="on")
    {
      if(
strCoord!=null && strCoord!="")
      {
        
tempCoord = strCoord.split("|")
      }
      
tempActualLayers=strWen.split(",")
      for (
i=0; i < tempWen.length; i++)
      {
        if(
strCoord!=null && strCoord!="")
        {
          
T = tempCoord[i].split(",")
          if (
T[0]!="" && T[1]!="")
          {
            
LMoveTo(tempActualLayers[i], T[0], T[1]);
          }
        }
        
LShow(tempActualLayers[i])
      }
      
lastmenues = strWen;
    }
  }
  else
  {
    
active = setTimeout("showMenus('" + strWen + "','" + strStatus + "','" + strCoord + "')",2000);
  }
  return 
false;
}



и вот собстенно код расположения менющек, где 2 чило (из скобок) расположение менюшки от края левого, а 3 число - от верха:


PHP:

CreateMenu
(2,80,175,210,"История","#.html","","");
  
CreateMenu(3,230,175,230,"Ð_ейтинг","#.html","");
  
CreateMenu(4,440,175,210,"Форум","#.html","");
  
CreateMenu(5,680,175,210,"пр","#.html","");
  var 
DOCloaded = true;



вот...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 15-02-2004 19:40
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #61085]

Помойму трабла у тебя с pixelLeft. Замени его на ..style.left = X+"px";

http://msdn.microsoft.com/library/d...s/pixelleft.asp

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 16-02-2004 08:13
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61101]

blacki
да не... ты просто не понял....
У меня станичка во фрейме... и там от краев отступы есть.... и при разных разрешениях отступы получаются разными.... а положение меню фексировано function CreateMenu(n,x,y,w,str,url,parent)

вот атач прилепил полный вид при 1280х960 та мышка наведена на 2 кнопку... оно вправо уехала аж под первую кнопку....

Файл: 1.gif
Был скачан 8 раз(а).

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 16-02-2004 12:39
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61102]

а вот на этом скрине разрешение 800х600 и все так как задумано....

Файл: 2.gif
Был скачан 5 раз(а).

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 16-02-2004 12:41
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #61104]

Мля.. Сразу про фрэймы говорить надо. А отступы у тебя разные, так как длина заданна в процентах.

Лекарство номер 1: убери проценты нафик и не мучайся.
Лекарство номер 2: не тестил но должно работать

/*новая функция*/
function recalc(x) {
area = AreaWidth();
res = math.round(area/800*x);
return res;
}
/*-------------------*/
function CreateMenu(n,x,y,w,str,url,parent)
{
var s,lt;
x = recalc(x); /* Изменение */
if (ns4)
...........................

CreateMenu(2,80,175,210,"История","#.html","","");
CreateMenu(3,230,175,230,"Ð_ейтинг","#.html","");
CreateMenu(4,440,175,210,"Форум","#.html","");
CreateMenu(5,680,175,210,"пр","#.html","");
var DOCloaded = true;

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 16-02-2004 13:04
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61176]

сделал как ты написал пишет:
ошибка стока 79 не найден объект....

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 17-02-2004 14:59
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #61178]

тогда попробуй вот так:

function recalc(x) {
if(oper || ns4) {
area = window.innerWidth;
} else if(ie4) {
area = document.body.clientWidth;
}
res = math.round(area/800*x);
return res;
}

если это не поможет то пости линку на твой сайт или архивируй страничку и атач сюда.

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 17-02-2004 15:06
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61179]

так поставил то что ты написал пишет требуется объект на 276 линии а там:
area = document.body.clientWidth;

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 17-02-2004 15:21
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
blacki
lol +
Средний рейтинг: 4.13 | Оценок: 15
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: May 2002
Место проживания: Latvia/D-pils
Публикаций: 451
Статус: blacki в оф-лайне
[сообщение #61180]

а.. кажется понял.
напиши так:
window.parent.имя_фрэйма.document.body.clientWidth

имя_фрэйма задается во frameset -> frame атрибут name="имя_фрэйма"

__________________
Национальность - русский, вероисповедание - программист.

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 17-02-2004 15:29
Нажмите сюда для просмотра профайла blacki Отправить Персональное сообщение blacki Посетить домашнию страничку blacki! Найти сообщения от blacki Добавить blacki в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя
bes
Участник
Средний рейтинг: 5 | Оценок: 3
/нажмите чтобы посмотреть кто оценивал/

Зарегистрирован: Dec 2003
Место проживания: Москва
Публикаций: 108
Статус: bes в оф-лайне
[сообщение #61631]

blacki
спасибо горомное за помошь.... так и не удалось сделать как хотел.... но все равно спасиба и с меня 5 за участие...

Сообщить модератору об этом сообщении | Предупреждение | IP: определен

Old Post 25-02-2004 16:23
Нажмите сюда для просмотра профайла bes Отправить Персональное сообщение bes Найти сообщения от bes Добавить bes в свой список друзей Редактировать/Удалить сообщение Ответить Цитируя



Формат времени GMT. Текущее время 09:34.
Новая тема   Ответить на эту тему [ Версия для печати Печать | Отправить эту страницу другу/знакомому! Отправить | Получать уведомления об обновлении этой темы Подписка ] Предыдущая тема     Следующая тема
Навигация по форуму:
Оценка темы:

Правила форума:
Вы не можете создавать новые темы.
Вы не можете отвечать на существующие темы.
Вы не можете прикреплять файлы.
Вы не можете редактировать свои сообщения.
HTML теги выкл.
Спец. код вкл.
Смайлики вкл.
[IMG] тег выкл.
 

Page generated in 2.59737802 seconds (99.71% PHP - 0.29% MySQL) with 23 queries.


  Главная :: Форум :: Web ClipArt :: Поиск :: Статистика :: Топ 10 :: Публикация :: Рекомендовать
©NetAdmin.ws, 2001-2026.
Powered by: vBulletin
Copyright ©2000, 2001, Jelsoft Enterprises Limited.