在D3版本2中拖动的惯性

时间:2013-11-28 02:24:39

标签: javascript d3.js

我正在尝试使用D3版本2实现拖动惯性。

下载页面中的最新版本的d3(3.3.10)没有它,而pjanik已经修改了d3的版本 - http://bl.ocks.org/pjanik/raw/5872514/

无论如何,我如何在D3版本2中实现它?


一种非常原始的功能来实现这种感觉,但如果有人有任何建议,我会更喜欢优雅的配方,非常感谢:

function inertia(value) {
    var remainder = value,
        output,
        drag = 0.3,
        stepTime = 60

    //var x = 0
    var interval = setInterval(function() {
        output = remainder * drag  

        //x += output
        //console.log(x)              
        //jQuery('.logo').css('margin-left', x)

        console.log(output)  
        remainder = remainder - output

        /*a hack to clear when value is small*/
        if (output < value * .005) 
          clearInterval(interval)

    }, stepTime)
}

//Any integer to be split for steps, can be distance, time, any value!
inertia(100)

0 个答案:

没有答案