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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Редактирование системы координат, Надо поменять на другой размер 
V
    Опции темы
EdgarJ
Дата 10.1.2006, 23:05 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Только прошу не набрасыватсья, я в Java'е не силён. У меня есть скрипт, который использовалсья на одном сайте для отображения координат курсора мышки (координаты отображаютсья у курсора). При этом координаты подсчитаваютсья от верхнего левого угла картинки (размер картинки был 1000 Х 1000 px). А у меня самого картинка 1000 Х 1200px , но я точно не знаю какие параметры заменить, чтоб правильно отображались координаты. Страница содержит 1) меню управления (1000Х100) 2)картинка 3) нижнея панель (1000 Х 100). А вот сам код :
Код

var bH = false;
var bZ = false;
var showMode = false;
function tn() {
    da();
    document.getElementById('neg').style.display="block";
    document.getElementById('sn').src = "img-pix/btnneg1.gif";
    showMode = true;
}
function th() {
    da();
    document.getElementById('f').style.display="block";
    bH = true;
}
function tz() {
    da();
    document.getElementById('sz').src = "img-pix/btnzoom1.gif";
    bZ = true;
    document.getElementById('een').style.display="block";
    showMode = true;
}
function da2() {
    da();
    document.getElementById('so').src = "img-pix/btnnor1.gif";    
    showMode = false;
}
function da() {
    document.getElementById('f').style.display="none";
    document.getElementById('een').style.display="none";
    document.getElementById('neg').style.display="none";
    document.getElementById('sn').src = "img-pix/btnneg0.gif";
    document.getElementById('sz').src = "img-pix/btnzoom0.gif";
    document.getElementById('so').src = "img-pix/btnnor0.gif";
    bH = false;
}
var headerHeight = 100; 


if (document.all){}
else document.captureEvents(Event.MOUSEMOVE);
document.onmousemove=mtrack;

function mtrack(e) {
    var lhs = (document.body.offsetWidth - 1000)/2; 
    var xcurs = 0; 
    var ycurs = 0;

    if (navigator.appName == 'Netscape'){
        xcurs = e.pageX;
        ycurs = e.pageY;
//        showMode = false;
    } else {
        xcurs = event.clientX;
        ycurs = event.clientY;
    }

    var l_xcurs;
    var l_ycurs;

    if (navigator.appName == 'Netscape') {
        document.getElementById('d').style.left=xcurs + 10;
        document.getElementById('d').style.top=ycurs;
        l_xcurs = Math.ceil((xcurs - lhs)/10) + 1;
        l_ycurs = Math.ceil((ycurs - headerHeight)/10);
    } else {
        l_xcurs = Math.ceil((xcurs - lhs)/10) + 1;
        l_ycurs = Math.ceil((ycurs - headerHeight + document.body.scrollTop)/10);
        document.getElementById('d').style.top=ycurs + document.body.scrollTop - 5;
        document.getElementById('d').style.left=xcurs + 14 + document.body.scrollLeft;
    }



    if (false && (l_ycurs <= 0) || (l_ycurs > 100) || (l_xcurs <= 0) || (l_xcurs > 100)){
        document.getElementById('d').style.display = "none";
    } else {
        document.getElementById('d').style.display = "";
        if (showMode) {
            document.getElementById('xcoord').innerHTML = "(" + l_xcurs + ",";
            document.getElementById('ycoord').innerHTML = l_ycurs + ")";
        } else {
            if (sTitle == "") {
                document.getElementById('xcoord').innerHTML = "";
                    document.getElementById('xcoord').innerHTML += " (" + l_xcurs + ",";
                    document.getElementById('ycoord').innerHTML = l_ycurs + ")";
            } else {    
                document.getElementById('xcoord').innerHTML = sTitle;
                document.getElementById('ycoord').innerHTML = "";
            }
        }
    }

    if (!bZ) {
        return;
    }
    var x,y,x1,x2,y1,y2,dx=0,dy=0;
    fact=2;
    opp=100;

    x=event.x;
    y=event.y;
       
    dx=window.document.body.scrollLeft;
    dy=window.document.body.scrollTop;

    x1=-opp+(x+dx)*fact;    //left
    y1=-opp+(y+dy)*fact - (document.body.scrollTop*fact);    //top
    x2=+opp+(x+dx)*fact;    //right
    y2=+opp+(y+dy)*fact - (document.body.scrollTop*fact);    //bottom

    document.getElementById('een').style.left=(x+dx)*(1-fact);
    document.getElementById('een').style.top=(y+dy)*(1-fact) + document.body.scrollTop;
    document.getElementById('een').style.clip="rect(" +y1 +"px," +x2 +"px," +y2 +"px,"+x1 +"px)";

}

function h(iL, iT, iW, iH) {
    if (!bH) {return;}
    document.getElementById('f').style.left=iL - 1;
    document.getElementById('f').style.top=64+iT;
    document.getElementById('f').style.width=iW + 4;
    document.getElementById('f').style.height=iH + 4;
}

var sTitle="";
function d(o) {

    sTitle = o.title;
}
function e(o) {
    sTitle = "";    
}



Извиняюсь не туда наверное вехал, переместите в Javascript пожалуйста.

Это сообщение отредактировал(а) EdgarJ - 10.1.2006, 23:14
PM MAIL   Вверх
Zeroglif
Дата 11.1.2006, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



EdgarJ

То, что ты дал, сложно разбирать без привязки к месту. Посмотри этот код, отображение координат мыши на картинке, базовый вариант, будут вопросы - аск!

Код

<html>
    <head>
        <title>Coord in pic...</title>
        <script type='text/javascript'>
            function F() {
                var 
                d  = document,
                de = d.documentElement,
                o  = d.getElementById('d1'),
                p  = d.getElementById('p1'),
                pX = p.style.left.replace('px',''),
                pY = p.style.top.replace('px','');
                window.FF = 
                    function(e) {
                        var a, b;
                        e = e || window.event;
                        o.innerHTML = 
                            'x:' + (a = ((o.style.left = e.clientX * 1 + d.body.scrollLeft + de.scrollLeft) - pX)) + '<br>' + 
                            'y:' + (b = ((o.style.top =  e.clientY * 1 + d.body.scrollTop +  de.scrollTop) - pY));
                        o.style.display = (a < 0 || b < 0) ? 'none' : '';
                    }
            }
        </script>
    </head>
    <body onload='F()' onmousemove='FF(event)'>
        <img id='p1' src='#' style='position:absolute;top:120;left:20;width:1000;height:1200;cursor:crosshair'>
        <div id='d1' style='position:absolute;display:none;color:red;width:100;padding-left:6;cursor:crosshair'></div>
    </body>
</html>

PM MAIL WWW   Вверх
EdgarJ
Дата 11.1.2006, 20:12 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Thanks! Ща попробую.

Неработает - Done with errors on page.
Всё спасибо всем за помощь - проблема решена. Надо было изменить некоторые параметры в основном JS файле. Ещё раз спасибо.

Это сообщение отредактировал(а) EdgarJ - 11.1.2006, 20:50
PM MAIL   Вверх
Zeroglif
Дата 11.1.2006, 20:27 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



EdgarJ

Какие именно errors? Должно работать (IE6, FF1.5, O8.5).
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Форум для вопросов, которые имеются в справочниках, но их поиск вызвал затруднения, или для разработчика требуется совет или просьба отыскать ошибку. Напоминаем: 1) чётко формулируйте вопрос, 2) приведите пример того, что уже сделано, 3) укажите явно, нужен работающий пример или подсказка о том, где найти информацию.
 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: Общие вопросы | Следующая тема »


 




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


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

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