Javascript 生活反问题

Javascript 生活反问题,javascript,html,css,count,Javascript,Html,Css,Count,我最近在建生命计数器,我不知道这里有什么问题,我的意思是我有两个div,当你在div上的类“活着”你得到分数,当你在“死”div你得到分数 现在我已经做了这个代码,它可以在几秒钟内工作,但是它不能正常工作,我的意思是1,2,3。但它是这样工作的: 或作为可视代码: <!DOCTYPE html> <html> <head> <meta charset="utf-8" /> <title>Aliv

我最近在建生命计数器,我不知道这里有什么问题,我的意思是我有两个div,当你在div上的类“活着”你得到分数,当你在“死”div你得到分数

现在我已经做了这个代码,它可以在几秒钟内工作,但是它不能正常工作,我的意思是1,2,3。但它是这样工作的:

或作为可视代码:

<!DOCTYPE html>

<html>
    <head>
        <meta charset="utf-8" />
        <title>Alive - Dead</title>
        <script src="http://code.jquery.com/jquery-1.9.1.min.js"></script>
        <script>
            var l = 1;
            var good = " Excelent!";
            var bad = " OH NO!";
            $(document).ready(function () {
                $('#alive').hover(function () {
                    if (l > 100) {
                        window.clearTimeout("tim");
                    }
                    else {
                        document.getElementById("percent").innerHTML = "Life: " + l + good;
                        l++;
                        var tim = window.setTimeout("count()", 1000);
                    }
                    count();
                });
            });
            $(document).ready(function () {
                $('#dead').hover(function () {
                    if (l < 0) {
                        window.clearTimeout("tim");
                    }
                    else {
                        document.getElementById("percent").innerHTML = "Life: " + l + bad;
                        l--;
                        var tim = window.setTimeout("count()", 1000);
                    }
                    count();
                });
            });
        </script>
        <style>
            body {
                background: red;
            }
            .dead {
                cursor: url(thumb-down.cur) 6 6, auto;
                padding-bottom: 285px;
            }
            .alive {
                background: #32ff0a;
                height: 300px;
                margin: -8px;
                cursor: url(thumb-up.cur) 6 6, auto;
            }
        </style>
    </head>
    <body>
        <div class="alive" id="alive">
        Stay here to survive!
        </div>
        <div class="dead" id="dead">
        <br />
        Stay away from dead area!
        </div>
        <div id="percent"></div>
    </body>
</html>

活死人
var l=1;
var good=“卓越!”;
var bad=“哦,不!”;
$(文档).ready(函数(){
$('#alive')。悬停(函数(){
如果(l>100){
窗口。清除超时(“tim”);
}
否则{
document.getElementById(“百分比”).innerHTML=“生活:”+l+good;
l++;
var tim=window.setTimeout(“count()”,1000);
}
计数();
});
});
$(文档).ready(函数(){
$('#dead')。悬停(函数(){
if(l<0){
窗口。清除超时(“tim”);
}
否则{
document.getElementById(“percent”).innerHTML=“Life:+l+bad;
l--;
var tim=window.setTimeout(“count()”,1000);
}
计数();
});
});
身体{
背景:红色;
}
.死了{
光标:url(thumb-down.cur)6,自动;
填充底部:285px;
}
.活着{
背景:#32ff0a;
高度:300px;
利润率:-8px;
光标:url(thumb up.cur)6,自动;
}
留在这里生存!

远离死区!

所以我的问题是,我如何解决这个问题以得到1,2,3(将1替换为2和3,4…?

您没有
计数功能,请创建一个

您可以使用变量本身而不是其名称清除超时

window.cleartimout(tim)

对于当前代码,还需要使用全局变量

window.tim=window.setTimeout(“count()”,1000)

window.cleartimout(window.tim)


否则clearTimeout将看不到它。

以下是您问题的解决方案。 代码中的问题是。。。仅当鼠标进入时才计算悬停功能。。。只要老鼠还在里面就行

$(文档).ready(函数(){
var good=“卓越!”;
var bad=“哦,不!”;
var tim;
var计数器=0;
函数计数(){
计数器++;
document.getElementById(“百分比”).innerHTML=“寿命:”+计数器+良好;
如果(计数器>100){
窗口清除间隔(tim);
} 
}
函数倒计时(){
计数器--;
document.getElementById(“百分比”).innerHTML=“寿命:”+计数器+坏;
如果(计数器<0){
窗口清除间隔(tim);
} 
}
$('#alive')。悬停(函数(){
如果(计数器>100){
窗口清除间隔(tim);
}否则{
tim=窗口设置间隔(计数,1000);
}
},函数(){
窗口清除间隔(tim);
});
$('#dead')。悬停(函数(){
如果(计数器<0){
窗口清除间隔(tim);
}否则{
tim=窗口设置间隔(倒计时,1000);
}
},
函数(){
窗口清除间隔(tim);
});
});

没有名为“计数”的函数。这不是清除超时的方式。哦,哈哈,我意外地删除了它,但忘记了删除它,但我不确定现在在超时中设置什么,如果它不是count(),我应该设置函数吗?如果我打点了,我如何使它在没有按钮的情况下自动工作。请告诉我,如果我理解你的问题是正确的。若计数器达到100,你们想把计数器给用户,若用户进入坏区,那个么“它是好的”。。然后计数器被减少了?是的,但是正如你所看到的,计数器现在不能正常工作。。它也有问题,如果你能摆弄它,那太棒了。@yotam看到我的答案了。。它也有到JSFIDLE的链接。如果这不是您想要的,请告诉我..所以我从setTimeout中删除了count()函数?我删除了count()函数,仍然不工作。。你能帮我做一把小提琴,做一个函数,它只把数字设为100和0。编辑:谢谢你的帮助,我一定会接受你的回答。
$(document).ready(function () {
    var good = " Excelent!";
    var bad = " OH NO!";
    var tim;
    var counter = 0;

    function count() {
        counter++;
        document.getElementById("percent").innerHTML = "Life: " + counter + good;
        if (counter > 100) {
            window.clearInterval(tim);
        } 
    }

    function countDown() {
        counter--;
        document.getElementById("percent").innerHTML = "Life: " + counter + bad;
        if (counter < 0) {
            window.clearInterval(tim);
        } 

    }
    $('#alive').hover(function () {
        if (counter > 100) {
            window.clearInterval(tim);
        } else {
            tim = window.setInterval(count, 1000);
        }
    }, function () {
        window.clearInterval(tim);
    });

    $('#dead').hover(function () {

        if (counter < 0) {
            window.clearInterval(tim);
        } else {
            tim = window.setInterval(countDown, 1000);
        }

    },

    function () {
        window.clearInterval(tim);
    });
});