国产亚洲精品福利在线无卡一,国产精久久一区二区三区,亚洲精品无码国模,精品久久久久久无码专区不卡

當(dāng)前位置: 首頁(yè) > news >正文

邯鄲網(wǎng)站建設(shè)公司群站優(yōu)化之鏈輪模式

邯鄲網(wǎng)站建設(shè)公司,群站優(yōu)化之鏈輪模式,網(wǎng)頁(yè)設(shè)計(jì)超鏈接,個(gè)人網(wǎng)站有什么內(nèi)容需求:實(shí)現(xiàn)一個(gè)可視化編輯器,用戶可以添加節(jié)點(diǎn),并對(duì)節(jié)點(diǎn)進(jìn)行拖拽編輯,線條要用折線而不是用自帶的直線 實(shí)現(xiàn)期間碰到很多問(wèn)題,特意記錄下來(lái),留待將來(lái)碰到這些問(wèn)題的同學(xué),省去些解決問(wèn)題的時(shí)間 問(wèn)…

需求:實(shí)現(xiàn)一個(gè)可視化編輯器,用戶可以添加節(jié)點(diǎn),并對(duì)節(jié)點(diǎn)進(jìn)行拖拽編輯,線條要用折線而不是用自帶的直線

在這里插入圖片描述

實(shí)現(xiàn)期間碰到很多問(wèn)題,特意記錄下來(lái),留待將來(lái)碰到這些問(wèn)題的同學(xué),省去些解決問(wèn)題的時(shí)間

問(wèn)題1:節(jié)點(diǎn)的data如下,不使用直角坐標(biāo)系一切正常,但使用直角坐標(biāo)系時(shí),節(jié)點(diǎn)怎么不見(jiàn)了?

series: [{type: 'graph',data: [{ name: '1', x: 0, y: 0}, { name: '2', x: 10, y: 10 }]
}]
解決方法:開(kāi)啟坐標(biāo)系后,坐標(biāo)要以數(shù)組的方式存到value中
series: [{type: 'graph',coordinateSystem: 'cartesian2d',data: [{ name: '1', value: [0, 0] }, { name: '2', value: [10, 10] }]
}]

問(wèn)題2:怎么拖拽節(jié)點(diǎn)?并且獲得節(jié)點(diǎn)拖拽的偏移量呢?

1、在配置項(xiàng)中允許節(jié)點(diǎn)拖拽:draggable: true

series: [{type: 'graph',draggable: true,
}]

2、監(jiān)聽(tīng)鼠標(biāo)按下和松開(kāi)的事件,按下時(shí)獲得拖拽動(dòng)作的初始坐標(biāo),松開(kāi)時(shí)獲得拖拽動(dòng)作的結(jié)束坐標(biāo),比較后獲得節(jié)點(diǎn)的偏移量

let dragCoords = null
myChart.on('mousedown', (e) =>{dragCoords = [e.event?.offsetX, e.event?.offsetY]
});
myChart.on('mouseup', (e) =>{const { offsetX, offsetY } =  e.eventconsole.log('初始坐標(biāo):': dragCoords , '結(jié)束坐標(biāo):', [offsetX, offsetY] )
});

問(wèn)題3:直接將坐標(biāo)與偏移量進(jìn)行加減,計(jì)算出來(lái)的坐標(biāo)再賦值給節(jié)點(diǎn),重新渲染后的節(jié)點(diǎn)位置與拖拽結(jié)束的位置不一樣

原因: 出現(xiàn)這個(gè)問(wèn)題,是因?yàn)樽鴺?biāo)的數(shù)值與px的數(shù)值,它們只是一個(gè)正比例關(guān)系。

解決方法:
計(jì)算坐標(biāo)軸的長(zhǎng)度與屏幕可視區(qū)域?qū)捀叩谋壤?#xff0c;根據(jù)比例將節(jié)點(diǎn)在屏幕的偏移量轉(zhuǎn)為在坐標(biāo)系的偏移量。

舉例: x軸刻度為1000,渲染在屏幕是500px,那么拖拽節(jié)點(diǎn)向右移動(dòng)100px,節(jié)點(diǎn)的x坐標(biāo)應(yīng)該增加200

option: {xAxis: { show: true, type: 'value', min: -500, max: 500 },yAxis: { show: true, type: 'value', min: -1000, max: 0, },grid: {left: 0, right: 0, top: 50, bottom: 50,},
}

根據(jù)以上配置??梢缘玫?#xff1a;
x軸長(zhǎng)度 = document.body.clientWidth
y軸長(zhǎng)度 = document.body.clientHeight-50-50

當(dāng)然,如果需求允許,設(shè)置grid.width=1000; grid.height=1000; 這樣是最方便的,直接將坐標(biāo)的數(shù)值與偏移量相加減,就可以得到新的坐標(biāo)

  function updatePosition ( e: any) {if(!e.data.name || !dragCoords) returnconst [startX, startY] = dragCoords // 拖拽動(dòng)作的初始位置const { offsetX, offsetY } =  e.event // 拖拽動(dòng)作的結(jié)束位置const [ x, y ] = clip.value // 節(jié)點(diǎn)在坐標(biāo)系內(nèi)的坐標(biāo)const { clientWidth, clientHeight } = document.body // 屏幕寬高。// x軸、y軸的刻度都1000// 根據(jù)option.grid的配置,x軸長(zhǎng)度=clientWidth; y軸長(zhǎng)度 = clientHeight - 50 - 50;// 將屏幕的偏移量數(shù)值,轉(zhuǎn)為在坐標(biāo)系中的偏移量數(shù)值const xCoord = x + (offsetX - startX) * 1000 / clientWidthconst yCoord = y - (offsetY - startY) * 1000 / (clientHeight-100)console.log('節(jié)點(diǎn)的新坐標(biāo):', [xCoord , yCoord ]);}

問(wèn)題4:怎么用折線表示節(jié)點(diǎn)的關(guān)系呢?

type: 'lines' 的圖表可以通過(guò)多線條畫(huà)出折線

    series: [{type: 'graph',symbolSize: 40,coordinateSystem: 'cartesian2d',draggable: true,lineStyle: { width: 2, color: '#000' },label: { show: true, formatter: (e: any) => e.data.title },edgeSymbol: ['', 'arrow'],data: toRef(() => graphData.value.data),// links: toRef(() => graphData.value.links),}, {type: 'lines',coordinateSystem: 'cartesian2d',polyline: true, // 允許多線條lineStyle: { color: '#000', width: 2, join: 'miter' },data: [ [[0,2],[0,-56],[0,-56],[0,-114]],[[0,-114],[0,-230],[-170,-230],[-170,-346]]],}]
http://aloenet.com.cn/news/39968.html

相關(guān)文章:

  • 企業(yè)商務(wù)網(wǎng)站建設(shè)策劃書(shū)查詢域名注冊(cè)信息
  • 17網(wǎng)站一起做網(wǎng)店揭陽(yáng)seo合作
  • wordpress自定義登陸頁(yè)面天津seo方案
  • 用表格做網(wǎng)站廊坊首頁(yè)霸屏優(yōu)化
  • 網(wǎng)站建設(shè)要求百度指數(shù)疫情
  • wordpress網(wǎng)站設(shè)計(jì)作業(yè)線下?tīng)I(yíng)銷(xiāo)推廣方式都有哪些
  • logosc網(wǎng)站怎么做的網(wǎng)絡(luò)營(yíng)銷(xiāo)的基本特征有哪七個(gè)
  • 長(zhǎng)沙建設(shè)公司網(wǎng)站網(wǎng)絡(luò)推廣產(chǎn)品公司
  • 小游戲網(wǎng)站審核怎么做百度信息
  • 迅馳互聯(lián)網(wǎng)站建設(shè)網(wǎng)絡(luò)推廣怎么樣廣東云浮疫情最新情況
  • 網(wǎng)站建設(shè) 大公司小公司seo排名優(yōu)化是什么意思
  • 做ppt哪個(gè)網(wǎng)站好百度seo查詢
  • 網(wǎng)站app用什么語(yǔ)言開(kāi)發(fā)的互聯(lián)網(wǎng)推廣運(yùn)營(yíng)
  • 如何修改wordpress優(yōu)化公司
  • 建設(shè)網(wǎng)站需要的工具廣州seo推廣公司
  • behance設(shè)計(jì)官網(wǎng)網(wǎng)址提供seo服務(wù)
  • 畢設(shè)做網(wǎng)站具體步驟seo關(guān)鍵詞快速提升軟件官網(wǎng)
  • 旅游網(wǎng)站開(kāi)發(fā)項(xiàng)目策劃書(shū)中國(guó)四大軟件外包公司
  • 常德網(wǎng)站建設(shè)要點(diǎn)網(wǎng)站買(mǎi)賣(mài)交易平臺(tái)
  • 電子商務(wù)的就業(yè)方向seo網(wǎng)站優(yōu)化是什么
  • 昆明網(wǎng)站建設(shè)哪家好網(wǎng)絡(luò)推廣入門(mén)教程
  • 怎樣在谷歌做網(wǎng)站站內(nèi)關(guān)鍵詞排名優(yōu)化軟件
  • vps做網(wǎng)站空間長(zhǎng)春網(wǎng)絡(luò)優(yōu)化哪個(gè)公司在做
  • 網(wǎng)站開(kāi)發(fā)的職業(yè)技術(shù)方面seo怎么做新手入門(mén)
  • 如何建設(shè)好政府門(mén)戶網(wǎng)站優(yōu)化網(wǎng)站性能
  • 成品網(wǎng)站管理系統(tǒng) 源碼拼多多網(wǎng)店代運(yùn)營(yíng)要多少費(fèi)用
  • app網(wǎng)站制作要多少錢(qián)電腦優(yōu)化系統(tǒng)的軟件哪個(gè)好
  • wordpress加載慢 2017西安快速排名優(yōu)化
  • 網(wǎng)站發(fā)布信息技巧世界疫情最新數(shù)據(jù)
  • 阿里巴巴全球采購(gòu)網(wǎng)優(yōu)化搜索點(diǎn)擊次數(shù)的方法