当(鼠标在某个边界框中)做某事时;--在Javascript中

while(mouse is in some bounding box) do something; -- IN Javascript

本文关键字:Javascript 鼠标 边界      更新时间:2023-09-26

我被难住了。我想做的是:每当我的鼠标指针进入一个框时,我都想不断更改框的颜色。但是,当鼠标离开框时,我希望框的颜色停止更改。我必须承认,我正在学习JS,变量的范围让我很难。

给你:

 var t = true;
 Crafty.addEvent(this,Crafty.stage.elem,"mousemove",function(e){
    if(e.clientX<294)
    {
        console.log("Left edge");
       while(t==true){do something}
    }
    else if(e.clientY<10)
    {
        console.log("Top Edge");

    }
    else if(Math.abs(e.clientX-1084)<10)
    {
        console.log("Right Edge");

    }
    else if(Math.abs(e.clientY-600)<10)
    {
       // console.log("Bottom Edge");

    }
    else
    {
         t = false;
    }


});

更清楚地说,我想在鼠标位于框外时执行一个操作(我希望这两种情况都等效:框外仍然是框)。上面的代码进入无限循环。

这样?http://jsfiddle.net/2eWkN/

var box = document.getElementById('box'),
    changeColor = function() {
        var r = ~~(Math.random() * 255),
            g = ~~(Math.random() * 255),
            b = ~~(Math.random() * 255);
        box.style.backgroundColor = "rgb(" + r + ',' + g + ',' + b + ')';
    },
    intvl;
box.onmouseover = function() {
    intvl = setInterval( changeColor, 50 );
};
box.onmouseout = function() {
    clearInterval( intvl );
};