我需要“如果”语句继续求值(JS)
I need the "if" statement to keep evaluating (JS)
我一定是做错了什么。我在追踪光标移动的速度。光标已被替换为一个50px x 50px的正方形。如果速度大于等于1.00,则光标方框应为红色。如果它慢,它应该是蓝色的。问题是,当我加载页面时,光标是蓝色的,无论我移动多快,它都不会变成红色。
计算速度,我使用以下代码
用下面的代码调用它:
$(function() {
var $speedometer = $('#speed');
$('#track').cursometer({
onUpdateSpeed: function(speed) {
$speedometer.text(speed);
},
updateSpeedRate: 20
});
setInterval(function () {
if (speed >= 1.00) {
$('#cursor').css('background', 'red');
} else {
$('#cursor').css('background', 'blue');
}
}, 20);
});
speed
不是全局变量,不在您的区间范围内。它在回调的作用域中,您不能在外部访问它。你的控制台应该有大量的错误信息告诉你它没有定义。
$(function() {
var $speedometer = $('#speed'),
_speed = 0;
$('#track').cursometer({
onUpdateSpeed: function(speed) {
_speed = speed;
$speedometer.text(speed);
},
updateSpeedRate: 20
});
setInterval(function () {
if (_speed >= 1.00) {
$('#cursor').css('background', 'red');
} else {
$('#cursor').css('background', 'blue');
}
}, 20);
});
但是为什么要使用间隔?只需将if/else语句放入onUpdateSpeed
回调中。
$('#track').cursometer({
onUpdateSpeed: function(speed) {
$speedometer.text(speed);
$('#cursor').css('background-color', speed >= 1 ? 'red' : 'blue');
},
updateSpeedRate: 20
});
相关文章:
- 如何让JS脚本在导航后继续运行(谷歌chrome控制台)
- Video.js没有'暂停后无法继续
- 隐藏 Raphael JS Freetransform 上的手柄,但继续拖动
- 如何在Node.js中等待函数完成后再继续
- d3.js继续条件加载数据
- 正在处理.js - 当鼠标离开画布时继续交互
- 即使在 JS 中声明后,继续的时间也已过
- 鲍尔JS文件在咕噜咕噜遵守后继续丢失
- 使用节点时是否有等效的语句“继续”.js 为每个系列异步
- 使用sketch.js继续编辑草图图像
- 使用fabric js克隆画布并继续编辑
- 如何在repl/bash w/Node.js Commander中继续接收异步console.log消息
- 如何用一个元素上的onclick中断IntroJS.js教程,然后继续
- Raphael JS -鼠标悬停时开始/继续动画.鼠标离开时暂停动画
- popcorn.js可以检测切换视频,无需重启即可继续
- 使页面在执行JS后继续前进
- JS继续加载,直到img src改变
- 基于弹出式继续执行JS函数
- 继续在我的node.js服务器上获得以下警告
- js继续和中断循环