Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/474.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 访问d3的Jquery变量_Javascript_Jquery_D3.js - Fatal编程技术网

Javascript 访问d3的Jquery变量

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,

我想从jquery函数中获取一个变量以插入d3,但我无法访问它。这就是我所拥有的,并且选择了我遇到问题的变量。我只是想抓拍一张照片,现在可以在控制台上写了

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中使用该值-您所需要做的就是调用一个函数来进行更新。