Javascript: возвращение карты свойств из функции - PullRequest
0 голосов
/ 18 марта 2012

Вот мой код `

function currentCursPos(){
$(document).mousemove(function(e){ var pos= {"x":e.pageX,"y":e.pageY}; return pos });
}
function clrpckrTopPos(){
    //var cursorPos={};
    var cursorPos=currentCursPos();
    if(cursorPos.y<$("#colorpickerDiv").height()){return cursorPos.y+$("#colorpickerDiv").height()}
    if(cursorPos.y>$("#colorpickerDiv").height()){return cursorPos.y}//colorpickerDiv2 and colorpickerDiv have same height
}   `

.Я получаю сообщение об ошибке: «cursorPos не определено».Любые идеи, как решить задачу возврата карты свойств из функции.Какую ошибку я делаю?

Ответы [ 3 ]

2 голосов
/ 18 марта 2012

currentCursPos ничего не возвращает.
Возврат из обработчика mousemove внутри функции не заставляет внешнюю функцию ничего возвращать.

1 голос
/ 18 марта 2012

Просто сохраните текущую позицию курсора в глобальной переменной на mouseMove:

var pos;
$(document).mousemove(function(e) { pos = { x: e.pageX, y: e.pageY }; });

function clrpckrTopPos(){
    if (pos.y < $("#colorpickerDiv").height())
        return pos.y + $("#colorpickerDiv").height();

    if (pos.y > $("#colorpickerDiv").height())
        return pos.y;
}  
1 голос
/ 18 марта 2012

Вы можете решить эту проблему, используя глобальные переменные:

var x = 0;
var y = 0;
$(document).mousemove(function(e){ x = e.pageX; y=e.pageY; });
function clrpckrTopPos(){
    if(y<$("#colorpickerDiv").height()){return y+$("#colorpickerDiv").height()}
    if(y>$("#colorpickerDiv").height()){return y}//colorpickerDiv2 and colorpickerDiv have same height
}   
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...