极酷动作效果----------------最后100分,,,求救高手!!! 请把setInterval("qqq()",50)改为setInterval("qqq()",10)在看效果 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE> New Document </TITLE><META NAME="Generator" CONTENT="EditPlus"><script language="javascript">var canMove = true;function flyObject(obj) //这里的Obj参数最好是DIV对象,而且要定义好宽和高{ if(!canMove) return false; if(typeof obj != "object") return false; if(typeof obj.tagName != "string") return false; obj.style.display = ""; var objWidth = obj.clientWidth; var objHeight = obj.clientHeight; var objTop = (document.body.clientHeight - objHeight) / 2; var objStartLeft = -objWidth; var midLeft = (document.body.clientWidth - objWidth) / 2; var endTop = -objHeight - 10; obj.style.position = "absolute"; obj.innerText = obj.id + " objWidth:" + objWidth + ", objHeight:" + objHeight + ", objTop:" + objTop + ", objStartLeft:" + objStartLeft + ", midLeft:" + midLeft + ", endTop:" + endTop; obj.style.posTop = objTop; obj.style.posLeft = objStartLeft; moveTo(obj.id,midLeft,objTop,midLeft,endTop); canMove = false; }function moveTo(objID,Left, Top, NextLeft, NextTop){ var moveSpeed = 3; //这里设置每次移动的距离,以像素为单位 var trueWait = 1000; //这里设置移动转向前的等待时间,以毫秒为单位 var LeftFlag = true; var TopFlag = true; var obj = document.all(objID); if(obj.style.posLeft < Left) { obj.style.posLeft += moveSpeed; if(obj.style.posLeft + moveSpeed > Left) LeftFlag = true; else LeftFlag = false; } if(obj.style.posLeft > Left) { obj.style.posLeft -= moveSpeed; if(obj.style.posLeft - moveSpeed < Left) LeftFlag = true; else LeftFlag = false; } if(obj.style.posTop < Top) { obj.style.posTop += moveSpeed; if(obj.style.posTop + Top > Top) TopFlag = true; else TopFlag = false; } if(obj.style.posTop > Top) { obj.style.posTop -= moveSpeed; if(obj.style.posTop - Top < Top) TopFlag = true; else TopFlag = false; } if(LeftFlag && TopFlag) { if(typeof(NextLeft) == "number" && typeof(NextTop) == "number") { setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",1000); } else { canMove = true;; return true; } } else { if(typeof(NextLeft) != "undefined" && typeof(NextTop) != "undefined") { setTimeout("moveTo('" + objID + "'," + Left + "," + Top + "," + NextLeft + "," + NextTop + ");",10); } else { setTimeout("moveTo('" + objID + "'," + Left + "," + Top + ");",10); } return false; }}</script></HEAD><BODY onclick="flyObject(fly);"><div id="fly" style="width:230px; height:200px;background-color:#99CCFF;border:1 solid #336699;display:none;">asdfasdfasdfasdgasdg</div></BODY></HTML> 把下面这句setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",1000);改为setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",trueWait); 把我的回答再修改一下,以这个为准:<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><HTML><HEAD><TITLE>移动</TITLE><META NAME="Generator" CONTENT="EditPlus"><script language="javascript">var canMove = true;function flyObject(obj) //这里的Obj参数最好是DIV对象,而且要定义好宽和高{ if(canMove == false) return false; if(typeof obj != "object") return false; if(typeof obj.tagName != "string") return false; obj.style.display = ""; var objWidth = obj.clientWidth; var objHeight = obj.clientHeight; var objTop = (document.body.clientHeight - objHeight) / 2; var objStartLeft = -objWidth; var midLeft = (document.body.clientWidth - objWidth) / 2; var endTop = -objHeight - 10; obj.style.position = "absolute"; obj.style.posTop = objTop; obj.style.posLeft = objStartLeft; moveTo(obj.id,midLeft,objTop,midLeft,endTop); canMove = false; }function moveTo(objID,Left, Top, NextLeft, NextTop){ var moveSpeed = 3; //这里设置每次移动的距离,以像素为单位,数字越大移动越快 var turnWait = 2000; //这里设置移动转向前的等待时间,以毫秒为单位 var LeftFlag = true; var TopFlag = true; var obj = document.all(objID); if(obj.style.posLeft < Left) { obj.style.posLeft += moveSpeed; if(obj.style.posLeft + moveSpeed > Left) LeftFlag = true; else LeftFlag = false; } if(obj.style.posLeft > Left) { obj.style.posLeft -= moveSpeed; if(obj.style.posLeft - moveSpeed < Left) LeftFlag = true; else LeftFlag = false; } if(obj.style.posTop < Top) { obj.style.posTop += moveSpeed; if(obj.style.posTop + moveSpeed > Top) TopFlag = true; else TopFlag = false; } if(obj.style.posTop > Top) { obj.style.posTop -= moveSpeed; if(obj.style.posTop - moveSpeed < Top) TopFlag = true; else TopFlag = false; } if(LeftFlag && TopFlag) { if(typeof(NextLeft) == "number" && typeof(NextTop) == "number") { setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",turnWait); } else { canMove = true;; return true; } } else { if(typeof(NextLeft) != "undefined" && typeof(NextTop) != "undefined") { setTimeout("moveTo('" + objID + "'," + Left + "," + Top + "," + NextLeft + "," + NextTop + ");",10); } else { setTimeout("moveTo('" + objID + "'," + Left + "," + Top + ");",10); } return false; }}</script></HEAD><BODY onclick="flyObject(fly);"><div id="fly" style="width:120px; height:80px;background-color:#99CCFF;border:1 solid #336699;display:none;">移动区域</div>点击页面开始移动。</BODY></HTML> 怎么实现折叠菜单 求一个正则 请各位高用帮忙!!!!! 动态层大小的设定,效果为什么不显示出来? 框架访问的问题 ASP.NET页面如何调用.JS文件? document.namespaces is undefined 怎样禁止新浪视频自动播放?autoplay参数无效 为什么我的myecplice 中的<script> 是这样的!!! 模态对话框中的session 如何实现像MS Project项目管理软件中作计划时的时间轴的拖拉功能? 在一个表格中,如何取得鼠标所在表格的位置?
<HTML>
<HEAD>
<TITLE> New Document </TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<script language="javascript">
var canMove = true;
function flyObject(obj) //这里的Obj参数最好是DIV对象,而且要定义好宽和高
{
if(!canMove) return false;
if(typeof obj != "object") return false;
if(typeof obj.tagName != "string") return false; obj.style.display = "";
var objWidth = obj.clientWidth;
var objHeight = obj.clientHeight;
var objTop = (document.body.clientHeight - objHeight) / 2;
var objStartLeft = -objWidth;
var midLeft = (document.body.clientWidth - objWidth) / 2;
var endTop = -objHeight - 10; obj.style.position = "absolute";
obj.innerText = obj.id + " objWidth:" + objWidth + ", objHeight:" + objHeight + ", objTop:" + objTop + ", objStartLeft:" + objStartLeft + ", midLeft:" + midLeft + ", endTop:" + endTop;
obj.style.posTop = objTop;
obj.style.posLeft = objStartLeft; moveTo(obj.id,midLeft,objTop,midLeft,endTop);
canMove = false;
}function moveTo(objID,Left, Top, NextLeft, NextTop)
{
var moveSpeed = 3; //这里设置每次移动的距离,以像素为单位
var trueWait = 1000; //这里设置移动转向前的等待时间,以毫秒为单位
var LeftFlag = true;
var TopFlag = true;
var obj = document.all(objID);
if(obj.style.posLeft < Left)
{
obj.style.posLeft += moveSpeed;
if(obj.style.posLeft + moveSpeed > Left)
LeftFlag = true;
else
LeftFlag = false;
}
if(obj.style.posLeft > Left)
{
obj.style.posLeft -= moveSpeed;
if(obj.style.posLeft - moveSpeed < Left)
LeftFlag = true;
else
LeftFlag = false;
}
if(obj.style.posTop < Top)
{
obj.style.posTop += moveSpeed;
if(obj.style.posTop + Top > Top)
TopFlag = true;
else
TopFlag = false;
}
if(obj.style.posTop > Top)
{
obj.style.posTop -= moveSpeed;
if(obj.style.posTop - Top < Top)
TopFlag = true;
else
TopFlag = false;
} if(LeftFlag && TopFlag)
{
if(typeof(NextLeft) == "number" && typeof(NextTop) == "number")
{
setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",1000);
}
else
{
canMove = true;;
return true;
}
}
else
{
if(typeof(NextLeft) != "undefined" && typeof(NextTop) != "undefined")
{
setTimeout("moveTo('" + objID + "'," + Left + "," + Top + "," + NextLeft + "," + NextTop + ");",10);
}
else
{
setTimeout("moveTo('" + objID + "'," + Left + "," + Top + ");",10);
}
return false;
}
}
</script>
</HEAD><BODY onclick="flyObject(fly);">
<div id="fly" style="width:230px; height:200px;background-color:#99CCFF;border:1 solid #336699;display:none;">asdfasdfasdfasdgasdg</div>
</BODY>
</HTML>
setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",1000);
改为
setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",trueWait);
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML>
<HEAD>
<TITLE>移动</TITLE>
<META NAME="Generator" CONTENT="EditPlus">
<script language="javascript">
var canMove = true;
function flyObject(obj) //这里的Obj参数最好是DIV对象,而且要定义好宽和高
{
if(canMove == false) return false;
if(typeof obj != "object") return false;
if(typeof obj.tagName != "string") return false; obj.style.display = "";
var objWidth = obj.clientWidth;
var objHeight = obj.clientHeight;
var objTop = (document.body.clientHeight - objHeight) / 2;
var objStartLeft = -objWidth;
var midLeft = (document.body.clientWidth - objWidth) / 2;
var endTop = -objHeight - 10; obj.style.position = "absolute";
obj.style.posTop = objTop;
obj.style.posLeft = objStartLeft; moveTo(obj.id,midLeft,objTop,midLeft,endTop);
canMove = false;
}function moveTo(objID,Left, Top, NextLeft, NextTop)
{
var moveSpeed = 3; //这里设置每次移动的距离,以像素为单位,数字越大移动越快
var turnWait = 2000; //这里设置移动转向前的等待时间,以毫秒为单位
var LeftFlag = true;
var TopFlag = true;
var obj = document.all(objID);
if(obj.style.posLeft < Left)
{
obj.style.posLeft += moveSpeed;
if(obj.style.posLeft + moveSpeed > Left)
LeftFlag = true;
else
LeftFlag = false;
}
if(obj.style.posLeft > Left)
{
obj.style.posLeft -= moveSpeed;
if(obj.style.posLeft - moveSpeed < Left)
LeftFlag = true;
else
LeftFlag = false;
}
if(obj.style.posTop < Top)
{
obj.style.posTop += moveSpeed;
if(obj.style.posTop + moveSpeed > Top)
TopFlag = true;
else
TopFlag = false;
}
if(obj.style.posTop > Top)
{
obj.style.posTop -= moveSpeed;
if(obj.style.posTop - moveSpeed < Top)
TopFlag = true;
else
TopFlag = false;
} if(LeftFlag && TopFlag)
{
if(typeof(NextLeft) == "number" && typeof(NextTop) == "number")
{
setTimeout("moveTo('" + objID + "'," + NextLeft + "," + NextTop + ");",turnWait);
}
else
{
canMove = true;;
return true;
}
}
else
{
if(typeof(NextLeft) != "undefined" && typeof(NextTop) != "undefined")
{
setTimeout("moveTo('" + objID + "'," + Left + "," + Top + "," + NextLeft + "," + NextTop + ");",10);
}
else
{
setTimeout("moveTo('" + objID + "'," + Left + "," + Top + ");",10);
}
return false;
}
}
</script>
</HEAD><BODY onclick="flyObject(fly);">
<div id="fly" style="width:120px; height:80px;background-color:#99CCFF;border:1 solid #336699;display:none;">移动区域</div>
点击页面开始移动。
</BODY>
</HTML>