Javascript 访问d3的Jquery变量
我想从jquery函数中获取一个变量以插入d3,但我无法访问它。这就是我所拥有的,并且选择了我遇到问题的变量。我只是想抓拍一张照片,现在可以在控制台上写了Javascript 访问d3的Jquery变量,javascript,jquery,d3.js,Javascript,Jquery,D3.js,我想从jquery函数中获取一个变量以插入d3,但我无法访问它。这就是我所拥有的,并且选择了我遇到问题的变量。我只是想抓拍一张照片,现在可以在控制台上写了 var yearSelected = ""; $(function () { $("#slider").slider({ value: 100, min: 2000, max: 2013, step: 1,
var yearSelected = "";
$(function () {
$("#slider").slider({
value: 100,
min: 2000,
max: 2013,
step: 1,
slide: function (event, ui) {
$("#year").val(ui.value);
yearSelected = ui.value;
}
});
$("#year").val($("#slider").slider("value"));
return yearSelected;
});
console.log(yearSelected);
$function{}是$.documentReadyfunction{}调用的简写-它注册DOMContentLoaded侦听器
问题:
监听器不能返回值,因为它是无意义的。
您的代码是异步的:您尝试在注册侦听器之后立即访问yearSelected值,但只有在构建DOM时才会触发侦听器!
清楚吗?
加载并计算脚本时,将计算主JS代码
Listener函数只有在整个DOM内容比主脚本的计算时间晚得多之后才进行计算
一种简单的解决方法是:将示例中的logic console.log合并到侦听器函数中,在该函数中初始化滑块
另外,这种方法导致了一个名为“javascript回调地狱”的问题,但这是另一个故事…您没有解释如何使用D3。感谢您的解释!我想根据Jquery滑块中的年份更新我的d3 Chloreth映射。您可以在ui.value中使用该值-您所需要做的就是调用一个函数来进行更新。