亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

d3 選擇 .attr('x1') 返回 r.getAttribute 不是函數

d3 選擇 .attr('x1') 返回 r.getAttribute 不是函數

慕森王 2023-05-11 10:17:52
我正在嘗試通過 跟蹤一條線的位置xScale。所以一旦x1到達 xScale1.range()[1]它的最終位置就應該改變顏色。在 DOM 行中,x1 屬性的值為 500。我做錯了什么?g1.append('line')  .attr('stroke-width', 1)  .style('stroke', 'white')  .attr('x1', xScale1.range()[0] + 100)  .attr('x2', xScale1.range()[0] + 100)  .attr('y1', yScale1.range()[0])  .attr('y2', yScale1.range()[1])  .transition()  .duration(duration)  .ease(d3.easeLinear)  .attr('x1', xScale1.range()[1])  .attr('x2', xScale1.range()[1])  .style('stroke', function (d) {    changeColour();  })  function changeColour(d) {  if (d3.select(this).attr('x1') === xScale1.range()[1]){    return 'red';  };}
查看完整描述

1 回答

?
一只萌萌小番薯

TA貢獻1795條經驗 獲得超7個贊

this不再指向選擇對象,而是指向局部函數范圍。通過嵌套函數,您已經更改了該值。您可以通過將 gthis作為參數傳遞給 來輕松避免這種情況changeColour

function change colour(element)
change colour(this)


查看完整回答
反對 回復 2023-05-11
  • 1 回答
  • 0 關注
  • 126 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號