Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 10.02.2011, 14:33
Интересующийся
Отправить личное сообщение для Andrejs Посмотреть профиль Найти все сообщения от Andrejs
 
Регистрация: 02.02.2011
Сообщений: 16

Всплывающий див около курсора
Всем доброе время суток! Есть такая пороблема, нужен скрипт который будет отображать див при наведении на обьект, собственно я это сделал, главная проблема в том, что див должен отображаться в зависимости от положения курсора в окне браузера: грубо говоря если див правее середины экрана то слева если ниже середины то сверху и т.д. Главная проблема в том, что див может быть разных размеров, в зависимости от содержимого. Тут пример уже имеющегося скрипта:

var cX = 0; var cY = 0; var rX = 0; var rY = 0;
var posit = 0;
var halfX = screen.width/2;
var halfY = screen.height/2;

function UpdateCursorPosition(e){ cX = e.pageX; cY = e.pageY;} //e.pageX e.pageY tekusheje polozhenije kursora
function UpdateCursorPositionDocAll(e){ cX = event.clientX; cY = event.clientY;} // event.clientX evant.clientY pozicija kursora otnositelno zoni klijenta
if(document.all) { document.onmousemove = UpdateCursorPositionDocAll; } // document.all vse elementi na dvizhenije mishi srabativajet funkcija
else { document.onmousemove = UpdateCursorPosition; }


function AssignPosition(d) { //self.pageYOffset self.pageXOffset zna4enija stranici: esli ne prokru4ivajetsa to 0, 0; esli prokru4ivajetsa to pikseli
if(self.pageYOffset) {
rX = self.pageXOffset;
rY = self.pageYOffset;

}
else if(document.documentElement && document.documentElement.scrollTop) {
rX = document.documentElement.scrollLeft;
rY = document.documentElement.scrollTop;
}
else if(document.body) {
rX = document.body.scrollLeft;
rY = document.body.scrollTop;
}
if(document.all) {
cX += rX;
cY += rY;
}


if(cX-10 > halfX){posit =(cX-10)-halfX/2; d.style.left = posit + "px";} //esli pozicija kursora praveje seredini okna to div budet otobrazhatsa sleva
else{
d.style.left = (cX+10) + "px";
}
if(cY-10 > halfY){posit =(cY-10)-halfY/2; d.style.top = posit + "px";} //esli nizhe seredini okna, to div budet otobrazhatsa vverxu
else{
d.style.top = (cY+10) + "px";
}
}

function HideContent(d) {
if(d.length < 1) { return; }
document.getElementById(d).style.display = "none";
}
function ShowContent(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
dd.style.display = "block";
}
function ReverseContentDisplay(d) {
if(d.length < 1) { return; }
var dd = document.getElementById(d);
AssignPosition(dd);
if(dd.style.display == "none") { dd.style.display = "block"; }
else { dd.style.display = "none"; }
}


Буду благодарен за помощь Ж)
Ответить с цитированием
  #2 (permalink)  
Старый 11.02.2011, 17:08
Аватар для Serg_pnz
Сам по себе
Отправить личное сообщение для Serg_pnz Посмотреть профиль Найти все сообщения от Serg_pnz
 
Регистрация: 09.06.2009
Сообщений: 963

Посмотрите это http://www.jstoolbox.com/2008/06/05/...ript-vsego-2k/
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Необходима помощь! Остановка карусели при наведении курсора мыши. DAZ jQuery 5 11.05.2018 11:49
Получить координаты курсора в текстовом поле в пикселях prike Events/DOM/Window 4 23.05.2013 04:35
Побег окошка(вызванного ф-й alert) от курсора Ankorbat Общие вопросы Javascript 16 20.06.2010 18:16
Появление текста при наведении курсора на ссылку Александра Элементы интерфейса 1 11.05.2009 00:22
установка позиции курсора или выделения в iframe mister_maxim Events/DOM/Window 5 18.04.2009 10:43