Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Вычислить позицию элемента 
:(
    Опции темы
missmia
Дата 27.3.2009, 14:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Я просто не сильно понимать в ява скриптах.
Но мне вот что необходимо.
Код

<html>
<head>
<script language="JavaScript">
function onover()
{
document.getElementById("tooltip").style.top=getYPosition();
document.getElementById("tooltip").style.left=getXPosition();
document.getElementById("tooltip").style.display="";
}
function onout()
{
document.getElementById("tooltip").style.display="none";
}

function getYPosition()
{

//TODO Вычислить позицию элемента <span id="menu"/> по Y

}
function getXPosition()
{

//TODO Вычислить позицию элемента <span id="menu"/> по X

}


</script>
</head>
<body onLoad="onout();">
<a onMouseOver="onover();" onMouseOut="onout();">TEST</a><hr>
<span height="100" width="100" id="menu" style="border:1px solid black"></span>


<div id="tooltip" style="display: none; position: absolute; z-index: 10;"></div>
</body>

Ну функции до меня то дошли, слава богу, только теперь незнаю как передать  параметры elem, offset ? Подскажи те плиз?
PM MAIL   Вверх
Munya
Дата 30.3.2009, 14:47 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 20
Регистрация: 15.2.2007

Репутация: нет
Всего: нет



эм..

тебе нужно вычислисть координаты объекта я так понял?

Код


Rect = {

    topX:function(obj) {
        result=0;
        do{
            result+=obj.offsetLeft;
            obj=obj.offsetParent;
           } while (obj!=null)

        return result;
    },

    topY:function(obj) {
        result=0;
        do{
            result+=obj.offsetTop;
            obj=obj.offsetParent;
           } while (obj!=null)

        return result;
    },

    downX:function(obj) {
        return this.topX(obj)+obj.offsetWidth;
    },

    downY:function(obj) {
        return this.topY(obj)+obj.offsetHeight;
    }

}

Rect.topX(getElementById('tooltip'));
Rect.topY(getElementById('tooltip')); // левый верхний угол

Rect.downX(getElementById('tooltip'));
Rect.downX(getElementById('tooltip')); // правый нижнийугол


Это сообщение отредактировал(а) Munya - 30.3.2009, 14:48
PM MAIL   Вверх
missmia
Дата 31.3.2009, 12:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



Вопросик у меня есть маленький как передаться будет пареметр obj ? очень прошу обьяснить на пальцах )
PM MAIL   Вверх
missmia
Дата 31.3.2009, 13:18 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 3
Регистрация: 27.3.2009

Репутация: нет
Всего: нет



<html>
<head>



<script language="JavaScript">
elem="TEST";
offset=10;
function onover()
{
document.getElementById("tooltip").style.top=getYPosition();
document.getElementById("tooltip").style.left=getXPosition();
document.getElementById("tooltip").style.display="";
}
function onout()
{
document.getElementById("tooltip").style.display="none";
}

Function getYPosition(elem, offset)
 { 
  return document.getElementById(elem).offsetLeft + offset;

  }

Function getXPosition(elem, offset)
 {
   return document.getElementById(elem).offsetLeft + offset;

  }

</script>
</head>
<body onload="onout();">
<a onmouseover="onover();" onmouseout="onout();">TEST</a><hr>
<span height="20%" width="20%" id="menu" style="border:1px solid black">LENKO</span>


<div id="tooltip" style="display: none; position: absolute; z-index: 10;">ТУТА БУДЕТ ХЕЛП</div>
</body>


во такой у меня код получился ) Только я никак не могу понять как мне передавать пареметр elem, offset?
PM MAIL   Вверх
bars80080
Дата 31.3.2009, 18:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прапор творюет
****
Награды: 1



Профиль
Группа: Завсегдатай
Сообщений: 12022
Регистрация: 5.12.2007
Где: Königsberg

Репутация: 44
Всего: 315



пользуемся кнопкой "код", пожалуйста

вот у тебя id есть "menu", это и есть элемент. offset видать просто надбавка, сдвиг, который можно дополнительно задать, приравняй нулю, а потом посмотри что получится:

Код

html>
<head>



<script language="JavaScript">
elem="TEST";
offset=10;
function onover(elem)
{
document.getElementById("tooltip").style.top=getYPosition(elem, 0);
document.getElementById("tooltip").style.left=getXPosition(elem, 0);
document.getElementById("tooltip").style.display="";
}
function onout()
{
document.getElementById("tooltip").style.display="none";
}

Function getYPosition(elem, offset)
 { 
  return document.getElementById(elem).offsetLeft + offset;

  }

Function getXPosition(elem, offset)
 {
   return document.getElementById(elem).offsetLeft + offset;

  }

</script>
</head>
<body onload="onout();">
<a onmouseover="onover('menu');" onmouseout="onout();">TEST</a><hr>
<span height="20%" width="20%" id="menu" style="border:1px solid black">LENKO</span>


<div id="tooltip" style="display: none; position: absolute; z-index: 10;">ТУТА БУДЕТ ХЕЛП</div>
</body>


PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0471 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.