Javascript 生活反问题
我最近在建生命计数器,我不知道这里有什么问题,我的意思是我有两个div,当你在div上的类“活着”你得到分数,当你在“死”div你得到分数 现在我已经做了这个代码,它可以在几秒钟内工作,但是它不能正常工作,我的意思是1,2,3。但它是这样工作的: 或作为可视代码: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
<!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);
});
});