自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

淺談如何用Javascript+VML實現(xiàn)流程設(shè)計器

開發(fā) 前端
在Web開發(fā)中實現(xiàn)流程設(shè)計器,僅通過HTML實現(xiàn)無法實現(xiàn)畫線等功能的。這里將簡單談?wù)勅绾斡肑avascript+VML實現(xiàn)流程設(shè)計器。

VML相當(dāng)于IE里面的畫筆,能實現(xiàn)你所想要的圖形,而且結(jié)合腳本,可以讓圖形產(chǎn)生動態(tài)的效果。VML是微軟1999年9月附帶IE5.0發(fā)布的,在我認(rèn)為,VML其實是Word和HTML結(jié)合的產(chǎn)物??梢詫ord文檔另存為HTML,其中的文本和圖片可以很容易的轉(zhuǎn)換,但如果是手繪制的圖形在以往的IE里面就無法解釋了,如果都轉(zhuǎn)換成圖形文件又不太現(xiàn)實。于是微軟把Word里面的圖形控件結(jié)合到IE里面,使IE也具備了繪圖功能。

VML的全稱是VectorMarkupLanguage(矢量可標(biāo)記語言),矢量的圖形,意味著圖形可以任意放大縮小而不損失圖形的質(zhì)量,這在制作地圖上有很大用途。顯然只有IE支持。

此例使用Javascript+VML實現(xiàn)

VML畫線段:

Line是做圖中最常用的,它有兩個特殊的屬性from和to,就是起始點和終止點坐標(biāo)。

  1. <v:linefromv:linefrom="0,0"to="100,50"style="position:relative;"/> 

◆如果要改變線的樣式,LineStyle(Stroke)屬性可以做到:

Single(默認(rèn)),ThinThin,ThinThick,ThickBetweenThin

◆如果要改變線的類型,可以用DashStyle(Stroke)屬性:

  1. <v:linestylev:linestyle="position:relative"from="0,0"to="100,0"> 
  2. <v:strokedashstylev:strokedashstyle="Dot"/> 
  3. </v:line> 
  4.  
  5. Solid(默認(rèn)):見上圖  
  6. ShortDash:  
  7. ShortDot:  
  8. ShortDashDot:  
  9. ShortDashDotDot:  
  10. Dot:  
  11. Dash:  
  12. LongDash:  
  13. DashDot:  
  14. LongDashDot:  
  15. LongDashDotDot: 

在畫坐標(biāo)的時候,需要箭頭,VML已經(jīng)定義好了箭頭,在Stroke體現(xiàn):EndArrow和StartArrow屬性,一個是線開始的時候有箭頭,另一個是線結(jié)束的時候有箭頭。箭頭的樣式也有不少:

  1. <v:linestylev:linestyle="position:relative"from="0,0"to="100,0"> 
  2. <v:strokeEndArrowv:strokeEndArrow="Classic"/> 
  3. </v:line> 
  4.  
  5. EndArrow="Block":  
  6. EndArrow="Classic":(這個看起來還比較舒服)  
  7. EndArrow="Diamond":  
  8. StartArrow="Oval":  
  9. StartArrow="Open"

PolyLine是Line的變形,是不規(guī)則的連續(xù)的線。它有個特殊的屬性Points,用來設(shè)置每個點的坐標(biāo)。例如:

  1. <v:PolyLinefilledv:PolyLinefilled="false"Points="0,00,10020,150200,100"style="position:relative"/> 

一樣可以設(shè)置它的線的樣式和類型以及箭頭(IE5.0中,PolyLine不支持Arrow)

  1. <v:PolyLinefilledv:PolyLinefilled="false"Points="0,00,10020,150200,100"style="position:relative"/> 
  2. <v:strokeStartArrowv:strokeStartArrow="Oval"EndArrow="Classic"dashstyle="Dot"/> 
  3. </v:PolyLine> 

Javascript+VML畫矩形:

用VML畫矩形,必須設(shè)置style="width:50;height:50",其他就沒有什么特別的。在這節(jié),順便講講shadow對象和TextBox對象:

  1. <v:Rectstylev:Rectstyle="position:relative;width:100;height:50px"/> 

RoundRect顧名思義,是圓角的矩形,這種形狀在畫流程圖的時候很常用,如果加上陰影,就更好看了:

  1. <v:RoundRectstylev:RoundRectstyle="position:relative;width:100;height:50px"> 
  2. <v:shadowonv:shadowon="T"type="single"color="#b3b3b3"offset="5px,5px"/> 
  3. </v:RoundRect> 

在VML里面,True和False可以簡寫成T和F。Shadow中的offset屬性用來設(shè)置偏移原圖的x,y值。on屬性用來決定是否顯示陰影。在矩形中寫字,要用到TextBox對象。TextBox比較關(guān)鍵的屬性是inset(left,top,right,bottom),意思是隔圖形邊的上下左右多少范圍內(nèi)定位文字:

  1. <v:RoundRectstylev:RoundRectstyle="position:relative;width:120;height:50px"> 
  2. <v:shadowonv:shadowon="T"type="single"color="#b3b3b3"offset="5px,5px"/> 
  3. <v:TextBoxinsetv:TextBoxinset="5pt,5pt,5pt,5pt"style="font-size:10.2pt;">Helloworld!</v:TextBox> 
  4. </v:RoundRect> 
  5. Helloworld! 

當(dāng)然你也可以直接插入HTML代碼,比如說插入一個

  1. <DivstyleDivstyle="padding-top:5px;padding-left:5px;padding-right:5px;padding-bottom:5px">HelloWorld!</Div> 

效果是一樣的。

有了線,及矩形。然后就是Javascript啦!

【編輯推薦】

  1. 常用的JavaScript驗證正則表達(dá)式
  2. 給JavaScript初學(xué)者的24個小竅門
  3. JavaScript中關(guān)于Cookie的詳細(xì)介紹
  4. JavaScript中confirm,alert,prompt的用法
  5. 基于JavaScript的REST客戶端框架
責(zé)任編輯:彭凡 來源: cnblogs
相關(guān)推薦

2009-06-22 11:52:00

javascriptxml

2017-10-27 22:03:35

javascrip

2017-10-11 16:19:36

jquery留言框設(shè)計

2009-06-22 14:06:00

java瀏覽器

2009-06-24 16:26:17

MyEclipse

2009-02-05 14:17:37

FTP服務(wù)器Java

2015-07-09 09:49:39

PHPSocket服務(wù)器

2017-03-15 08:43:29

JavaScript模板引擎

2017-03-20 17:59:19

JavaScript模板引擎

2011-08-02 08:48:58

Visual Stud

2009-07-17 17:41:25

JDBC連接SQL S

2023-07-05 16:07:02

JavaScriptWeb 應(yīng)用程序

2017-08-22 16:40:22

前端JavaScript接口

2011-03-15 09:10:47

iptablesNAT

2011-03-15 14:26:23

iptablesNAT

2021-11-29 08:50:57

Javascript存儲函數(shù)

2017-05-02 11:30:44

JavaScript數(shù)組惰性求值庫

2010-07-30 12:56:02

Flex調(diào)用JavaS

2015-11-03 09:28:52

Hybrid技術(shù)設(shè)計實現(xiàn)

2024-05-07 14:40:49

Python兒童計算器
點贊
收藏

51CTO技術(shù)棧公眾號