在线咨询
QQ交流群
微信公众号

Class: Selector

THING~ 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 Description
time? Number

淡入时间(毫秒),默认 1s

complete? function

完成时的回调

Example
var sel = app.query('.Thing');
sel.fadeIn();
// 设置 时间 和 回调
sel.fadeIn({
  time:2000,
  complete:function(){
    console.log('complete')
  }
})

fadeOut(param)

淡出

Parameters:
Name Type Description
param Object
Properties
Name Type Description
time? Number

淡出时间(毫秒),默认 1s

complete? function

完成时的回调

Example
var sel = app.query('.Thing');
sel.fadeOut();
// 设置 时间 和 回调
sel.fadeOut({
  time:2000,
  complete:function(){
    console.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){
  console.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 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 Description
eventType String

事件名称

condition? String

物体类型选择条件,用于筛选子物体

userData? Object

事件绑定自定义数据

cb function

事件触发的回调函数

tag? String

事件标签

Example
// 获取所有 Thing 类型物体
var sel = app.query('.Thing');
// 绑定 Click 事件
sel.on('click',function(ev){
  console.log(ev.object.name);
},'给所有Thing物体绑定点击事件')

// 给所有 Thing 类型物体下的 Marker 对象绑定事件
sel.on('click','.Marker',function(ev){
  console.log(ev.object.name);
},'给Thing下的Marker绑定事件')

one(eventType, condition?, userData?, callback, tag?)

绑定事件(只触发一次)

Parameters:
Name Type Description
eventType String

事件名称

condition? String

物体类型选择条件

userData? Object

事件绑定自定义数据

callback function

事件触发的回调函数

tag? String

事件标签


pauseEvent(eventType, condition, tag?)

暂停事件响应

Parameters:
Name Type Description
eventType String

事件名称

condition String

物体类型选择条件

tag? String

事件标签

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 Description
eventType String

事件名称

condition String

物体类型选择条件

tag? String

事件标签

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 Description
eventType String

事件名称

ev Object

事件信息

tag? String

事件标签

Example
// 获取所有的 Thing 类型物体集合 并触发自定义的 Alarm 事件
var sel = app.query('.Thing');
sel.trigger('Alarm', { level: 2 })
// 监听绑定自定义的 Alarm 事件
sel.on('Alarm', function (ev) {
  var level = ev.level;
})