Class: Selector
优质
小牛编辑
130浏览
2023-12-01
THING~ Selector
选择器
Selector()
Members
draggable :Boolean
批量设置集合中的对象是否能被拖拽
Type:
- Boolean
inheritAngles :Boolean
批量设置集合中的对象角度继承控制
Type:
- Boolean
inheritPosition :Boolean
批量设置集合中的对象位置继承控制
Type:
- Boolean
inheritScale :Boolean
批量设置集合中的对象缩放继承控制
Type:
- Boolean
inheritStyle :Boolean
批量设置集合中的对象风格继承控制
Type:
- Boolean
inheritVisible :Boolean
批量设置集合中的对象可见性继承控制
Type:
- Boolean
pickable :Boolean
批量设置集合中的对象是否能被拾取
Type:
- Boolean
style :THING.SelectorStyle
获取效果集合,获取后用于批量设置集合中的物体效果
Type:
Example
// 获取所有 Thing 类型物体的对象集合var sel = app.query('.Thing');// 获取效果结合,并设置物体颜色为红色sel.style.color = '#ff0000';
visible :Boolean
批量设置集合中的对象显示/隐藏
Type:
- Boolean
Methods
add(param) → {THING.Selector}
从当前对象集合中添加其他对象 参数可以是 查询条件 或 物体对象 或 物体对象数组 或 其他 Selector 对象集合
Parameters:
Name Type Description param
Object 参数列表
Returns:
处理之后的对象集合
- Type
- THING.Selector
Example
sel.add('car01').add(obj).add([obj1, obj2]).add(sel1);
clear()
清空集合(集合中的对象本身并没有删除)
destroyAll()
销毁对象集合中的所有对象(物体会被删除掉)
fadeIn(param)
淡入
Parameters:
Name Type Description param
Object Properties
Name Type Argument Description time
Number <optional> 淡入时间(毫秒),默认 1s
complete
function <optional> 完成时的回调
Example
var sel = app.query('.Thing');sel.fadeIn();// 设置 时间 和 回调sel.fadeIn({ time:2000, complete:function(){ THING.Utils.log('complete') }})
fadeOut(param)
淡出
Parameters:
Name Type Description param
Object Properties
Name Type Argument Description time
Number <optional> 淡出时间(毫秒),默认 1s
complete
function <optional> 完成时的回调
Example
var sel = app.query('.Thing');sel.fadeOut();// 设置 时间 和 回调sel.fadeOut({ time:2000, complete:function(){ THING.Utils.log('complete') }})
filter(callback) → {THING.Selector}
过滤元素
Parameters:
Name Type Description callback
function 回调函数
Returns:
- Type
- THING.Selector
forEach(callback)
遍历对象
Parameters:
Name Type Description callback
function 回调函数
Example
// 得到所有 Thing 类型物体的对象集合var sel = app.query('.Thing');// 遍历对象sel.forEach(function(obj){ THING.Utils.log(obj.name)})
has(object) → {Boolean}
判断集合中是否拥有某物体
Parameters:
Name Type Description object
THING.BaseObject 物体
Returns:
- Type
- Boolean
indexOf(object) → {Number}
获取对象集合中某物体的下标索引值 若对象集合中不包含此物体,则返回 -1
Parameters:
Name Type Description object
THING.BaseObject 物体
Returns:
下标值, -1 表示不存在
- Type
- Number
Example
// 获取 Thing 类型物体对象集合var sel = app.query('.Thing');// 根据 name 查询获取物体var obj = app.query('cabinetB1')[0];var index = sel.indexOf(obj);
not(param) → {THING.Selector}
从当前对象集合中排除部分对象 参数可以是 查询条件 或 物体对象 或 物体对象数组 或 其他 Selector 对象集合
Parameters:
Name Type Description param
Object 参数列表
Returns:
处理之后的对象集合
- Type
- THING.Selector
Example
selector.not('car01').not(obj).not([obj1, obj2]).not(sel);
off(eventType, condition, callback)
移除事件绑定
Parameters:
Name Type Description eventType
THING.EventType | String 事件名称
condition
String 物体类型选择条件
callback
function | String 事件触发的回调函数 或 事件标签(tag)
Example
sel.off('click',null,'tag1');sel.off('click','.Marker','tag2')
on(eventType [, condition] [, userData], cb [, tag])
绑定事件
Parameters:
Name Type Argument Description eventType
THING.EventType | String 事件名称
condition
String <optional> 物体类型选择条件,用于筛选子物体
userData
Object <optional> 事件绑定自定义数据
cb
function 事件触发的回调函数
tag
String <optional> 事件标签
Example
// 获取所有 Thing 类型物体var sel = app.query('.Thing');// 绑定 Click 事件sel.on('click',function(ev){ THING.Utils.log(ev.object.name);},'给所有Thing物体绑定点击事件')// 给所有 Thing 类型物体下的 Marker 对象绑定事件sel.on('click','.Marker',function(ev){ THING.Utils.log(ev.object.name);},'给Thing下的Marker绑定事件')
one(eventType [, condition] [, userData], callback [, tag])
绑定事件(只触发一次)
Parameters:
Name Type Argument Description eventType
THING.EventType | String 事件名称
condition
String <optional> 物体类型选择条件
userData
Object <optional> 事件绑定自定义数据
callback
function 事件触发的回调函数
tag
String <optional> 事件标签
pauseEvent(eventType, condition [, tag])
暂停事件响应
Parameters:
Name Type Argument Description eventType
THING.EventType | String 事件名称
condition
String 物体类型选择条件
tag
String <optional> 事件标签
Example
sel.pauseEvent('click',null,'tag1');sel.pauseEvent('click','.Marker','tag2')
query(param) → {THING.Selector}
在该对象集合中查询物体
Parameters:
Name Type Description param
String 查询条件
Returns:
查询结果
- Type
- THING.Selector
Example
// 在对象集合中查询 id 为 001 的物体sel.query('#001');// 在对象集合中查询名称为 car01 的物体sel.query('car01');// 在对象集合中查询类型为 Thing 的物体sel.query('.Thing');// 在对象集合中查询自定义属性 [prop=value] 的物体sel.query('["userData/power" = 60]');// 在对象集合中查询名字(name)中包含 car 的物体sel.query(/car/);// 在对象集合中查询 满足条件1 或条件2,...sel.query('.Thing|.Building');// 字符串部分参考:http://www.w3school.com.cn/jquery/jquery_ref_selectors.asp
resumeEvent(eventType, condition [, tag])
恢复事件响应
Parameters:
Name Type Argument Description eventType
THING.EventType | String 事件名称
condition
String 物体类型选择条件
tag
String <optional> 事件标签
Example
sel.resumeEvent('click',null,'tag1');sel.resumeEvent('click','.Marker','tag2')
reverse() → {THING.Selector}
反转集合中的对象顺序
Returns:
- Type
- THING.Selector
splice(index, number)
从集合中移除对象
Parameters:
Name Type Description index
Number 起始下标值,从此位置开始移除
number
Number 删除多少个对象
toArray() → {Array}
把对象集合以数组形式返回
Returns:
数组
- Type
- Array
Example
var sel = app.query('.Thing');var arr = sel.toArray();
toJSON() → {String}
转换成 JSON 字符串
Returns:
字符串
- Type
- String
Example
var sel = app.query('.Thing');var jsonStr = sel.toJSON();
trigger(eventType, ev [, tag])
发送事件
Parameters:
Name Type Argument Description eventType
THING.EventType | String 事件名称
ev
Object 事件信息
tag
String <optional> 事件标签
Example
// 获取所有的 Thing 类型物体集合 并触发自定义的 Alarm 事件var sel = app.query('.Thing');sel.trigger('Alarm', { level: 2 })// 监听绑定自定义的 Alarm 事件sel.on('Alarm', function (ev) { var level = ev.level;})