SVG之獲取路徑長度,建立獲取SVG元素 6

2021-08-21 19:26:28 字數 2835 閱讀 8848

說明:**中,所有的namespace(命名空間)是固定的。需要記住,這是對svg元素進行dom操作所必需的

注意:是獲取svg元素哦!不是svg元素。意思就是獲取所有svg標籤元素

上述方法用來獲取svg元素

id="svg"

width="500"

height="500">

x="10"

y="10"

width="100"

height="100">

rect>

svg>

var namespace = '',

svg = document.getelementsbytagnamens(namespace, 'svg')[0],

rect = document.getelementsbytagnamens(namespace, 'rect')[0];

script>

var namespace = '';

var svg = document.createelementns(namespace, 'svg');

svg.setattribute('id', 'svg');

svg.setattribute('width', 500);

svg.setattribute('height', 500);

svg.style.border = '1px solid #ccc';

var rect = document.createelementns(namespace, 'rect');

rect.setattribute('x', 10);

rect.setattribute('y', 10);

rect.setattribute('width', 100);

rect.setattribute('height', 100);

rect.setattribute('fill', '#ccc');

script>

建立svg元素使用:

document.createelementns(namespace, 『svg元素名』);

通過setattribute為svg元素設定屬性

也可以『path標籤物件.gettotallength()』

這兒通過乙個demo來演示該方法的使用

id="svg"

width="500"

height="500">

id="svg_1"

d="m160.16243,297.01148c-20.41264,-1.82538 -39.37267,-11.75377 -35.52183,-23.34357c1.94899,-12.72323 21.03886,-22.96331 40.24619,-29.7101c25.56244,-9.21941 60.51346,-12.64424 88.68377,-4.69267c1.65061,-64.13301 0.7099,-128.28208 0.95994,-192.42235c17.76435,-2.27874 12.02058,10.04285 16.05515,15.74104c3.84983,16.75575 25.06346,29.9034 46.17916,41.6436c26.19748,14.7569 54.01548,30.40367 62.53061,50.84838c9.2983,23.72033 -5.56654,47.98646 -24.85716,69.24441c-1.39689,6.81297 -24.98613,16.66976 -13.74738,4.35837c18.92408,-21.06076 34.55781,-45.31573 21.64092,-68.63722c-12.30063,-23.27046 -50.64079,-42.70477 -96.28208,-46.1895c-0.29497,49.13731 0.71828,98.28391 -1.08168,147.41335c-4.48704,14.47181 -28.21357,25.20976 -52.0071,31.34124c-16.40677,3.78442 -34.92408,6.07414 -52.79847,4.40503l-0.00002,-0.00002z"/>

svg>

var namespace = '',

path = document.getelementsbytagnamens(namespace, 'path')[0],

pathlen = svg_1.gettotallength();//獲取路徑總長度

path.style.strokedasharray = pathlen;

path.style.strokedashoffset = pathlen;

path.style.animation = 'move 5s linear forwards';

script>

body>

注意:獲取的點的座標是相對於svg畫布原點的絕對座標

id="svg"

width="500"

height="500">

d="m 10 10 l 100 100"

id="svg_1">

path>

svg>

var namespace = '',

path = document.getelementsbytagnamens(namespace, 'path')[0],

pos = path.getpointatlength(10);

script>

嚴格來說上面兩方法只適用於path元素,但各個瀏覽器實現起來都會有一點區別。例如谷歌瀏覽器也能獲取到line元素的路徑長度

Spark獲取HBase海量資料方式之Scan

scan掃瞄,類似於資料庫系統中的游標,底層依賴順序儲存的資料結構。掃瞄操作的作用跟get 方式非常類似,但由於掃瞄操作的工作方式類似於迭代器,所以使用者無需呼叫scan 方法建立例項,只需呼叫htable的getscanner 方法 或者使用new scan 此方法在返回真正的掃瞄器scanner...

iOS開發之獲取沙盒路徑

獲取沙盒根目錄,直接呼叫nshomedirectory 獲取沙盒根目錄 nsstring directory nshomedirectory nslog directory directory 控制台輸出 這個是真機的路徑,大家有時間的話可以看看模擬器的根目錄路徑。獲取documents路徑如下 獲...

c 學習筆記之獲取當前路徑

winform獲取應用程式的當前路徑的方法集合,具體如下,值得收藏 獲取當前程序的完整路徑,包含檔名 程序名 string str this.gettype assembly.location result x exe exe檔案所在的目錄 exe檔名 獲取新的process 元件並將其與當前活動的...