1
我希望我的d3能夠在滾動時滾動整個頁面。如何使用d3滾動整個頁面
有點像effect on challonge,但只在y軸上。
這是我的嘗試。
pan.call(d3.drag().on("drag", function dragged() {
// x axis
thisPosX += d3.event.dx;
g.attr("transform", "translate(" + thisPosX + ", 0)");
g1.attr("transform", "translate(" + thisPosX + ", 0)");
position.x = thisPosX;
// y axis.
var tmp = d3.event.dy;
if (tmp != -lastTmp) {
$window.scrollTo(0, $window.scrollY - tmp);
lastTmp = tmp;
}
}));
但是,這段代碼仍然使平移非常滯後,並有一些尖峯。
有沒有更好的方法來做到這一點?btw,我正在使用angular。
這個代碼有缺陷,如果你的鼠標離開拖動區域,頁面會返回頂部滾動。 – arslan2012
我認爲這並不難調試! – etiennecrb
是的,我調試它,結合d3.mouse和d3.drag.on修復了這個問題,謝謝。 – arslan2012