JS怎么判断一个控件在屏幕范围?

JavaScript017

JS怎么判断一个控件在屏幕范围?,第1张

先找出你屏幕的尺寸:windo.width 和window.height

你控件的位置: $("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>