Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 23.02.2009, 12:30
Новичок на форуме
Отправить личное сообщение для kotjke Посмотреть профиль Найти все сообщения от kotjke
 
Регистрация: 23.02.2009
Сообщений: 8

Функция movelayer ()
Добрый день! Я в javascript оч слаб, поэтому прошу помощи у вас, уважаемые гуру У меня есть функция movelayer ()
var curx=200;
var deltax=12;
var areawidth=160;

function movelayer(){ 
  curx-=deltax;        
  if(curx>areawidth)
  {
    document.getElementById("ofice").style.left=curx + "px";
    deltax=+deltax;
    setTimeout('movelayer()',50);
  }
  else
  {
    document.getElementById("langu").style.display = "block";
  }
}

То есть при нажатии на ссылку, она отъезжает в лево и появляется воторое меню. Но дело в том что в разрешениях экрана до 1600 все нормально, а вот с 1600 включительно меню которое отъезжает влево вылазит за поля верхнего меню подскажите где тут можно уменьшить дистанцию отъезда в лево. Верхнее меню - 1003 px;
Заранее спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 24.02.2009, 11:33
Новичок на форуме
Отправить личное сообщение для kotjke Посмотреть профиль Найти все сообщения от kotjke
 
Регистрация: 23.02.2009
Сообщений: 8

UP
помогите плиз, ну просто очень нада! Если чтото не понятно, могу выложить кусок стиля и HTML относящиеся к этому коду!
Ответить с цитированием
  #3 (permalink)  
Старый 24.02.2009, 16:47
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

Я не вижу связи этого скрипта с расширением экрана, так что не могу понять в чем проблема.
Может вам поможет смысл этих переменных:
var curx=200; // Начальная позиция по оси x
var deltax=12; // Шаг смещения позиции
var areawidth=160; // Ширина пространства, по которому идет перемещение

Возможно вам нужно уменьшить значение третьей переменной, но это только предположение.

Если не получится, то выложите страницу куда-нибудь и дайте ссылку.
Либо выложите код проблемного места, который было бы легко протестировать.
Ответить с цитированием
  #4 (permalink)  
Старый 24.02.2009, 16:49
Новичок на форуме
Отправить личное сообщение для kotjke Посмотреть профиль Найти все сообщения от kotjke
 
Регистрация: 23.02.2009
Сообщений: 8

test5.perevedem.ru - ссылка... на главной нажать на любой язык под OFFICES.
Заранее спасибо
Ответить с цитированием
  #5 (permalink)  
Старый 24.02.2009, 17:08
Отправить личное сообщение для Андрей Параничев Посмотреть профиль Найти все сообщения от Андрей Параничев
 
Регистрация: 21.02.2008
Сообщений: 1,250

kotjke,
Тут проблема не столько в скрипте, сколько в верстке. Дело в том, что для элемента с position: absolute позиция, задаваемая top, left, right, bottom, высчитывается об ближайшего позиционированного элемента, либо от body.

В вашем случае отсчет идет от body, а значит left: 160px; это расстояние между левым "углом документа" и самим меню. Естественно, что при увеличении расширения экрана этих 160px уже не хватает.

В качестве решения могу предложить добавить в CSS элементу с классом wrapper свойство position: relative, а в скрипте переменной areawidth сделать значение 0. Но можно и другими способами решить проблему, например перемещая элемент отрицательными отступами.
Ответить с цитированием
  #6 (permalink)  
Старый 24.02.2009, 17:44
Новичок на форуме
Отправить личное сообщение для kotjke Посмотреть профиль Найти все сообщения от kotjke
 
Регистрация: 23.02.2009
Сообщений: 8

Андрей Параничев,
Спасибо Вам огромное за помощь! Вы меня очень выручили! :rolleyes:
С ув. Александр!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
функция при ресайзе BAnder Events/DOM/Window 15 07.02.2009 14:37
Не работает функция Destrifer Элементы интерфейса 8 07.12.2008 01:34
Функция oncklick и ее использование Fobos Общие вопросы Javascript 3 23.05.2008 14:04