一直进行while循环测试

时间:2011-10-01 08:18:39

标签: jquery html loops while-loop

我正在进行一项使用while循环的简单测试。

以下是代码:

var ishovered = 0;

$('a.hovertest').hover(function(){
    ishovered = 1;
},function(){
    ishovered = 0;
});

while(ishovered == 1)
    {
        //execute function
    }

我如何制作它以便while循环一直在测试,并且函数一旦徘徊就会执行? (是的,我知道我可以把这个功能放在悬停部分,我问这个是有原因的)

它实际上不一定是一个循环,我只需要一个函数来执行,一旦ishovered变为1.有没有办法监视它?

以下是示例:http://jsfiddle.net/9s3zE/

1 个答案:

答案 0 :(得分:2)

小提琴:http://jsfiddle.net/9s3zE/1/

为此目的使用setInterval。顺便说一下,你正在描述“轮询者”的行为。轮询器检查条件是否计算为true。如果为true,则激活一个函数。如果为false,则发生默认行为(可能无效)。在这种情况下使用while循环是不明智的,因为当条件为真时浏览器将冻结。

var ishovered = 0;
$('a.hovertest').hover(function(){
    ishovered = 1;
},function(){
    ishovered = 0;
});

var showresult = $('#showresult');
window.setInterval(function(){
    if(ishovered == 1){
        showresult.text("You hovered");
    }
    else if(showresult.text() == "You hovered"){
        showresult.text("Default text (not hovered)");
    }
}, 100);