Функция 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; Заранее спасибо! :thanks: |
UP
помогите плиз, ну просто очень нада! Если чтото не понятно, могу выложить кусок стиля и HTML относящиеся к этому коду! |
Я не вижу связи этого скрипта с расширением экрана, так что не могу понять в чем проблема.
Может вам поможет смысл этих переменных: var curx=200; // Начальная позиция по оси x var deltax=12; // Шаг смещения позиции var areawidth=160; // Ширина пространства, по которому идет перемещение Возможно вам нужно уменьшить значение третьей переменной, но это только предположение. Если не получится, то выложите страницу куда-нибудь и дайте ссылку. Либо выложите код проблемного места, который было бы легко протестировать. |
test5.perevedem.ru - ссылка... на главной нажать на любой язык под OFFICES.
Заранее спасибо :) |
kotjke,
Тут проблема не столько в скрипте, сколько в верстке. Дело в том, что для элемента с position: absolute позиция, задаваемая top, left, right, bottom, высчитывается об ближайшего позиционированного элемента, либо от body. В вашем случае отсчет идет от body, а значит left: 160px; это расстояние между левым "углом документа" и самим меню. Естественно, что при увеличении расширения экрана этих 160px уже не хватает. В качестве решения могу предложить добавить в CSS элементу с классом wrapper свойство position: relative, а в скрипте переменной areawidth сделать значение 0. Но можно и другими способами решить проблему, например перемещая элемент отрицательными отступами. |
Андрей Параничев,
Спасибо Вам огромное за помощь! Вы меня очень выручили! :rolleyes: С ув. Александр! |
Часовой пояс GMT +3, время: 04:42. |