jac*_*ack 6 javascript variables jquery
我试图在它定义的函数之外使用一个变量值.思想I.只需要在函数外部声明变量但不会削减它.对于那些知道的人来说,要轻松一点吗?
在这里小提琴
jQuery(document).ready(function() {
var readOut;
var readOut2;
$(document).mousemove(function(e) {
readOut1 = e.pageX;
readOut2 = e.pageY;
$('#var1').html(readOut1);
});
$('#var2').html(readOut2);
})?
Run Code Online (Sandbox Code Playgroud)
感谢所有人,特别是Andy E的解释和解决方案.
您通过注册到事件处理程序的回调函数分配变量.这意味着当它运行时:
$('#var2').html(readOut2);
Run Code Online (Sandbox Code Playgroud)
readOut2具有未定义的值,因为它尚未由mousemove处理函数设置.在当前排队代码停止执行并且用户移动鼠标之前,该处理程序不会触发.您可以在与变量相同的范围内定义函数,并从mousemove处理程序调用该函数.
Re:你对另一个答案的评论,你可以使用一个计时器:
jQuery(document).ready(function() {
var readOut1;
var readOut2;
$(document).mousemove(function(e) {
readOut1 = e.pageX;
readOut2 = e.pageY;
$('#var1').html(readOut1);
});
window.setInterval(function () {
$('#var2').html(readOut2);
}, 300);
})?;
Run Code Online (Sandbox Code Playgroud)