htmlayout與lua(二) 設計思路
設計的思路是開發方便,現在做到的是嵌入的腳本方式和javascript相同,即可以在html頁面中直接嵌入代碼,也能從外部引用,以此來滿足各種需要(或是方便或是為了便于管理)。在程序結構上,用了兩層結構,dll程序中封裝了對htmlayout元素的基本操作以及必要的交互接口,為了是開發更方便,更快捷,增加了lua腳本層,即ui目錄的相關腳本,這一次的目的是為了簡化程序開發時的代碼,提高開發效率。現在看來,效果還可以。
1.最簡單的方式是直接給元素附上id屬性,這樣在腳本中就可以直接使用這個id名稱訪問對應的元素了
2.通過函數E查找元素,參數為css選擇其,如local d = E('div[type="test"]')
1.修改style,直接用obj.style['name'] = value; 即修改元素的style中的name,取值直接使用obj.style['name']即可
2.取元素屬性用obj.attributes['name'] = value,用法和style相同
3.和html顯示無關的數據,就如同普通的lua table操作即可,如obj.mypro = '1',因為獲得元素對象本身就是一個table,所有lua table的功能都支持
嵌入腳本方式
在html頁面文件中增加元素<script type="text/lua">...<script>即可添加頁面腳本,每個頁面的腳本空間是獨立的,即此頁面定義的函數只能是此頁面才能使用,同時腳本的初始化是在頁面加載完成之后在加載的,所以沒有javascript類似的onload消息處理,直接將需要初始化執行的代碼放在外部即可執行。元素引用方式
在腳本中操作元素有以下幾種方式:1.最簡單的方式是直接給元素附上id屬性,這樣在腳本中就可以直接使用這個id名稱訪問對應的元素了
2.通過函數E查找元素,參數為css選擇其,如local d = E('div[type="test"]')
元素操作
在獲得元素對象之后,操作的方式涉及到以下幾個部分:1.修改style,直接用obj.style['name'] = value; 即修改元素的style中的name,取值直接使用obj.style['name']即可
2.取元素屬性用obj.attributes['name'] = value,用法和style相同
3.和html顯示無關的數據,就如同普通的lua table操作即可,如obj.mypro = '1',因為獲得元素對象本身就是一個table,所有lua table的功能都支持