Биллинговая система Nodeny

Главная категория => Nodeny 49 => Тема начата: Fredik от 23 Июля 2009, 22:25:59



Название: 49.19 Проблема точек на карте
Отправлено: Fredik от 23 Июля 2009, 22:25:59
ставлю 4 точки соедененные между собой, смотрю на карту - нет ниче.
ставлю точку в самом верху по центру карты - точка смещается на 5 см вниз, в чем проблемка?


Название: Re: 49.19 Проблема точек на карте
Отправлено: Efendy от 26 Июля 2009, 15:18:12
Браузер Опера?


Название: Re: 49.19 Проблема точек на карте
Отправлено: Fredik от 26 Июля 2009, 22:49:32
да, юзаю хром, все отлично ствится


Название: Re: 49.19 Проблема точек на карте
Отправлено: Efendy от 27 Июля 2009, 08:32:40
Когда делал этот модуль Хрома еще не было... Фишка в том, что каждый браузер имеет свои javascript методы определения позиции на экране,  я помню тогда замучался пока откопал способы для IE и firefox. Если кто сообщит для хрома и оперы - буду благодарен. Сейчас юзается такой скрипт:

Код:
<script language="JavaScript">
var IE=(document.attachEvent!=null ? true : false);
var mX; var mY;
function checkS(e){
 mX = 0; mY = 0;
 if (!e) {var e = window.event}
 if (e.pageX || e.pageY){mX = e.pageX; mY = e.pageY;}
   else if (e.clientX || e.clientY){mX = e.clientX; mY = e.clientY;}
}
function clckmap(obj) {
 var oX = obj.offsetLeft;
 var oY = obj.offsetTop;
 while(obj.parentNode){
   oX=oX+obj.parentNode.offsetLeft;
   oY=oY+obj.parentNode.offsetTop;
   if(obj==document.getElementsByTagName('body')[0]){break}
      else{obj=obj.parentNode;}
  }
 var x=mX-oX;//relative X
 var y=mY-oY;//relative Y
 if (IE) {
    x = document.body.scrollLeft + x;
    y = document.body.scrollTop + y;
   }
 popupWin = window.open('$scrpt&b=select&notitle=1&x='+x+'&y='+y, 'map', 'location,width=400,height=300,top=0')
 popupWin.focus()
}
</script>