你控件的位置: $("div").layerX 和$("div").layerY
在实时地进行判断,($("div").layerX <=windo.width)&&($("div").layerY <=window.height)是否为true 就可以了。希望采纳。
这个可以利用 JS 的事件传递的特性,在body捕获到页面的所有的鼠标进入事件,并获取到触发事件的最底层的元素。这样你就知道鼠标当前处在那个元素中了。例:
<div style="width:500pxheight:500pxbackground:red" id="redDiv">
<div style="width:400pxheight:400pxbackground:yellow" id="yellowDiv">
<div style="width:300pxheight:300pxbackground:blue" id="blueDiv">
</div>
</div>
</div>
<input type="text" id="msg" value=""/><!-- 显示结果的文本框 -->
<script>
var body = document.body//找到页面body用于绑定,其实也可以绑定document
function addHandler(element,type,handler){//给页面元素添加事件的通用方法,不理解的可以死记硬背下。写法是固定的。
if(element.addEventListener){// !IE//非IE下用addEventListener给元素添加事件
element.addEventListener(type,handler,false)
} else if(element.attachEvent){// IE//IE下要用 attachEvent给元素添加事件
element.attachEvent('on'+type,handler)
} else {//DOM0级//都不支持的时候 就用这种方法 给元素添加事件
element['on'+type] = handler
}
}
var msg = document.getElementById('msg')//为了看着方便,定义了一个文本框,用于显示鼠标当前所在位置的id
addHandler(body,'mouseover',function(event){
var event = event||window.event
var target = event.target||event.srcElement//找到真正触发事件的元素,
msg.value = target.id//这里取了触发元素的id,并传递给 文本框 方便查看。//文本框的id也是能被捕获到的。
})
</script>