鼠标监听事件移出和新增
MMSDT.mouseEvent 构建函数的属性,鼠标监听事件中,所监听模型网格的移出、新增
属性
.removeMesh( childs )
childs: 数组,移出监听模型的网格名字
.addMesh( childs )
childs: 数组,新增监听模型的网格名字
代码示例
//数组,需要监听的模型子网格名称
var eventMouse = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"];
//鼠标移入移出、点击检测的网格
var onMouseArray = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"];
//数组,模型的移入事件
var onMove = [
[ onMouseArray,
function(name){
MMSDT.superposition([ name ] , 0xff0000); //当前楼层变红
document.body.title = "当前楼层:"+name; //鼠标显示当前楼层名称
} ],
];
//匿名函数,鼠标移出事件
var outMove = function(){
MMSDT.resSuperposition(onMouseArray); //楼层变色恢复
document.body.title = ""; //文字提示恢复为空
}
//左键单击
var onDown = [
[ onMouseArray,
function(name){
MMSDT.objectStyle( [ name ] , false); //背景虚化
var floor = ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F","ding"];
for( var i=0; i < floor.length; i++ ){
if( name == floor[i] ){
floor.splice(0,i+1);
}
}
MMSDT.buildingSplit(floor ,50); //楼层展开
//把指定的网格从"eventMouse"中移出,移除后,针对该网格的所有鼠标移入移出和点击事件均取消了。
mouseEvent.removeMesh( ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"] );
}, "left" ],
];
var onDouble = [];
var moveColor = [];
function goBack( dateJson ){}
//构建函数监听鼠标事件
var mouseEvent = new MMSDT.mouseEvent( eventMouse, onMove, outMove, onDown, onDouble, moveColor, false, false, goBack );
//自定义MMAPI类的接口
MMAPI.goBack = function(){
MMSDT.resStyle(); //楼层虚化恢复
MMSDT.buildingSplit(["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F","ding"] ,0); //楼层展开恢复
//在"eventMouse"中新增指定的网格,添加后,针对该网格的所有鼠标移入移出和点击事件有效了。
mouseEvent.addMesh( ["B2","B1","1F","2F","3F","4F","5F","6F","7F","8F","9F","10F","11F","12F","13F","14F","15F","16F","17F","18F","19F","20F"] );
}
在线演示
Powered by mms3D