ThingJS加入js的基本表單功能
js之表單事件中包括change事件,change事件當<input>、<select>、<textarea>的值發生變化時觸發。ThingJS,不斷加入js的基本功能,讓3D開發更輕鬆!
如何結合2D圖形皮膚和js語法來做3D開發?ThingJS做個好示範,教你著手開發不同物體的溫度、霧效和iframe頁面。官方新推出change事件的功能,對應各種3D效果元素的值的變化,方便在GUI(圖形介面)手動操作,直接生成js程式碼。
Change事件指代一系列用於改變場景元素的介面元件,都有哪些元件呢?比如string元件、核取方塊元件、布林開關元件、單選框元件、iframe元件,都可以一一加入開發序列。
下面就來一一解析一下。首先要繫結介面元件資料,再建立皮膚和新增相關元件,注意在建立過程中會透過一些顏色或者動畫效果來動態呈現變化,包括變色、切換等。
建立皮膚
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
// 用於介面元件資料繫結 var
dataObj = {
temperature:
'30'
,
checkbox: {
'car01'
:
true
,
'car02'
:
false
,
'car03'
:
false
,
},
switch1:
false
,
radio:
'首頁'
,
iframe:
' }; // 建立皮膚 var
panel = THING.widget.Panel({
titleText:
'皮膚'
,
hasTitle:
true
,
width:
'300px' }); |
新增string元件
官方示例對應溫度的變化,透過文字修改來觸發change事件。程式碼中繫結了beforechange,透過return語句終止當前函式並返回當前溫度的值,change事件顯示當前溫度的返回值,皮膚中需要輸入數字,並勾選所作用的物體物件。
1
2
3
4
5
6
7
8
9
10 |
// 新增 String 元件 var
temperature = panel.addString(dataObj,
'temperature'
).isChangeValue(
true
); // 繫結 beforeChange 事件 temperature.on(
'beforeChange'
,
function
(ev) {
return
confirm(
'改變溫度設定'
); }) // 繫結 change 事件 temperature.on(
'change'
,
function
(ev) {
console.log(
'當前溫度為:'
+ ev); }); |
新增核取方塊元件
透過核取方塊來選擇物件,加入顏色變化,直觀呈現一個升溫或者降溫的效果。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17 |
// 新增 核取方塊 元件 var
checkbox = panel.add(dataObj,
'checkbox'
); for
(let i = 0; i < 3; i++) {
checkbox[i].on(
'beforeChange'
,
function
(ev) {
var
car = app.query(/car/)[i];
if
(ev) {
return
confirm(
'取消 '
+ car.name +
' 紅色'
);
}
else
{
return
confirm(car.name +
' 變紅'
);
}
});
checkbox[i].on(
'change'
,
function
(ev) {
var
car = app.query(/car/)[i];
car.style.color = ev ?
'#ff0000'
:
null
;
}); } |
新增布林開關元件
布林值是“真” True 或“假” False 中的一個,在3D皮膚中是開啟與關閉霧效,設定霧效還要考慮到顏色、距離等因素。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19 |
// 新增 布林開關 元件 var
switch1 = panel.addBoolean(dataObj,
'switch1'
).caption(
'霧效'
); switch1.on(
'beforeChange'
,
function
(ev) {
if
(ev) {
return
confirm(
'確定關閉霧效嗎?'
);
}
else
{
return
confirm(
'確定開啟霧效嗎?'
);
} }) switch1.on(
'change'
,
function
(ev) {
if
(ev) {
// 設定霧效果
app.fog = { color:
'#c4c4c4'
, near: 0, far: 150 };
}
else
{
app.fog =
null
;
} }) |
新增單選框元件
用單選框實現切換,透過新增iframe元件,呈現切換後的頁面。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18 |
// 新增 單選框 元件 var
radio = panel.addRadio(dataObj,
'radio'
, [
'首頁'
,
'教程'
]); radio.on(
'beforeChange'
,
function
(ev) {
if
(ev ==
'教程'
) {
return
confirm(
'iframe 頁面將切換到首頁'
);
}
else
{
return
confirm(
'iframe 頁面將切換到教程'
);
} }) radio.on(
'change'
,
function
(ev) {
if
(ev ===
'首頁'
) {
dataObj.iframe =
"
}
else
{
dataObj.iframe =
"
} }) |
新增iframe元件
1
2 |
// 新增 Iframe 元件 var
iframe = panel.addIframe(dataObj,
'iframe'
).setHeight(
"400px"
); |
ThingJS,你的3D開發神器!
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/69978212/viewspace-2726463/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Vuejs基本知識(十三)【表單的提交】VueJS
- js 單項鍊表JS
- 關於簡單的js計步功能JS
- Vuejs基本知識(十二)【表單的繫結】VueJS
- (JS基礎)操作表單JS
- js表單檔案提交JS
- JS — 物件的基本操作JS物件
- Mybatis加入JPA的自動建表功能MyBatis
- 如何讓策劃加入你想要的功能?
- swoole 的練習 demo(5)- 加入心跳功能
- jQuery Validate表單驗證基本流程介紹jQuery
- 用js開發3D專案,ThingJS兩年前就成功了JS3D
- 利用jQuery實現表單驗證功能jQuery
- Java實現單向連結串列基本功能Java
- Hive表的基本操作Hive
- Vue.js實現可配置的登入表單Vue.js
- JS原生實現表單序列化JS
- Vue.js表單輸入繫結Vue.js
- Hyperledger Fabric的基本功能
- 輸入框前面帶有表單驗證提示的功能
- js裡的物件基本理解(原型)JS物件原型
- 原生js設計表單驗證外掛的思路分析JS
- 【JS 口袋書】第 11 章:HTML 表單及 localStorage 的使用JSHTML
- js 基本知識JS
- 原生JS實現表單序列化serialize()JS
- 線性表的基本操作
- 如何在WPS中加入圖表清單(類似生成自動目錄)
- win10怎麼把檔案加入白名單 win10把檔案加入白名單的方法Win10
- 公寓系統+精簡版系統加入功能和修改功能
- vue專案中加入拖放排序功能Vue排序
- 前端表單驗證常用的25個JS正規表示式前端JS
- HTML5中form表單功能介紹分享HTMLORM
- 簡單的 Vue.js 表單驗證外掛 (vee-validate) 使用總結Vue.js
- 【白皮書】JS中的基本概念JS
- JS 基礎篇(策略模式-表單驗證案例)JS模式
- Vue.js+ElementUI+vant生成動態表單配置Vue.jsUI
- 將About加入系統選單
- JS陣列基本方法JS陣列