JS判断碰撞方法:
复制代码代码如下:
/** 判断是否碰撞
* @param obj 原对象
* @param dobj 目标对象
*/
function impact(obj, dobj) {
var o = {
x: getDefaultStyle(obj, 'left'),
y: getDefaultStyle(obj, 'top'),
w: getDefaultStyle(obj, 'width'),
h: getDefaultStyle(obj, 'height')
}
var d = {
x: getDefaultStyle(dobj, 'left'),
y: getDefaultStyle(dobj, 'top'),
w: getDefaultStyle(dobj, 'width'),
h: getDefaultStyle(dobj, 'height')
}
var px, py
px = o.x <= d.x ? d.x : o.x
py = o.y <= d.y ? d.y : o.y
// 判断点是否都在两个对象中
if (px >= o.x &&px <= o.x + o.w &&py >= o.y &&py <= o.y + o.h &&px >= d.x &&px <= d.x + d.w &&py >= d.y &&py <= d.y + d.h) {
return true
} else {
return false
}
}
/** 获取对象属性
* @param obj 对象
* @param attribute 属性
*/
function getDefaultStyle(obj, attribute) {
return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute])
}
示例如下:
复制代码代码如下:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<title>demo </title>
<style type="text/css">
body{margin:0px}
.main{position:relative}
#f1{position:absolutebackground:#FF0000top:100pxleft:100pxwidth:200pxheight:200pxz-index:999}
#f2{position:absolutebackground:#FFFF00top:0pxleft:0pxwidth:600pxheight:150px}
</style>
</head>
<body>
<div class="main">
<div id="f1"></div>
<div id="f2"></div>
</div>
<script type="text/javascript">
var o = document.getElementById("f1")
var d = document.getElementById("f2")
alert(impact(o, d))
function impact(obj, dobj) {
var o = {
x: getDefaultStyle(obj, 'left'),
y: getDefaultStyle(obj, 'top'),
w: getDefaultStyle(obj, 'width'),
h: getDefaultStyle(obj, 'height')
}
var d = {
x: getDefaultStyle(dobj, 'left'),
y: getDefaultStyle(dobj, 'top'),
w: getDefaultStyle(dobj, 'width'),
h: getDefaultStyle(dobj, 'height')
}
var px, py
px = o.x <= d.x ? d.x : o.x
py = o.y <= d.y ? d.y : o.y
// 判断点是否都在两个对象中
if (px >= o.x &&px <= o.x + o.w &&py >= o.y &&py <= o.y + o.h &&px >= d.x &&px <= d.x + d.w &&py >= d.y &&py <= d.y + d.h) {
return true
} else {
return false
}
}
function getDefaultStyle(obj, attribute) {
return parseInt(obj.currentStyle ? obj.currentStyle[attribute] : document.defaultView.getComputedStyle(obj, false)[attribute])
}
</script>
</body>
</html>
希望本文所述对大家的javascript程序设计有所帮助。
其实原因很简单.bat是空的那就在那个bat添加一段话(注:加什么都行,哪怕是一个空格,只要不是空的就行):PAUSE>NUL然后保存.你再试试,是不是就成功了 找不到文件那个请用代码: WScript.Sleep
1000WScript.CreateObject("WScr...
// JavaScript Documentfunction el(id){
return document.getElementById(id)
}
function $$(id){
return document.getElementById(id)
}
/*
该方法用于选项卡切换功能
选项卡按钮的ID依次为xxx1、xxx2、xxx3、……
每个滑块对应的内容依次为xxx1_content、xxx2_content、xxx3_content、……
参数说明:
btnID:选项卡按钮的ID,不含后面的数字,如上面的xxx
num:选项卡总数
classOn:当前选项卡的样式表名称
classOff:其他关闭的选项卡的样式表名称
moreUrlID:超链接更多的ID,如果选项卡没有设置一个更多的按钮则填写空字符串
moreUrl:更多的页面地址
*/
function change(btnID,num,count,classOn,classOff,moreUrlID,moreUrl)
{
for(i=1i<=counti++)
{
if(i==num)
{
$$(btnID+i.toString()).className=classOn
$$(btnID+i.toString()+"_content").style.display="block"
}
else
{
$$(btnID+i.toString()).className=classOff
$$(btnID+i.toString()+"_content").style.display="none"
}
}
if(moreUrlID!="")
$$(moreUrlID).href=moreUrl
}
//返回元素坐标
var GetCoordinate = function(el,xy)
{
var box = el.getBoundingClientRect(),
doc = el.ownerDocument,
body = doc.body,
html = doc.documentElement,
clientTop = html.clientTop || body.clientTop || 0,
clientLeft = html.clientLeft || body.clientLeft || 0,
top = box.top + (self.pageYOffset || html.scrollTop || body.scrollTop ) - clientTop,
left = box.left + (self.pageXOffset || html.scrollLeft || body.scrollLeft) - clientLeft
var n
if(xy=="x") n=parseInt(left)
if(xy=="y") n=parseInt(top)
return parseInt(n)
}
var IsShow=false
var st
var mmm=null
function SetTF(tf){IsShow=tf}
function ShowMenu(o)
{
if(mmm!=null) mmm.style.display='none'
IsShow=true
var x=GetCoordinate(o,"x")
var y=GetCoordinate(o,"y")+28
var mm=el(o.id+"_item")
if(document.all)
x=x
else
x=x+1
mmm=mm
mm.style.display='block'
mm.style.top=y.toString()+"px"
if(x+el(o.id+"_item").offsetWidth >GetCoordinate(el("dh"),"x")+766)
mm.style.left=(x-el(o.id+"_item").offsetWidth+o.offsetWidth)+"px"
else
mm.style.left=x.toString()+"px"
st=setInterval(Hide,500)
mmm=mm
}
function Hide()
{
if(!IsShow &&mmm!=null)
{
mmm.style.display='none'
clearInterval(st)
}
}// JavaScript Document
//这样即可,复制过去即可用