如何利用JS把DIV的层向下移动一点点?

 我来答
秋原美并C5
2011-06-29
知道答主
回答量:49
采纳率:0%
帮助的人:17.7万
展开全部
有很多人在做网站的时候经常会用到js拖动层的效果,还要有可拖动效果,现在我把我做的这个鼠标移动层效果的代码贴出来,给大家分享一下,本人在Mozilla Firefox、Internet Explorer、谷歌浏览器等几种浏览器中测试通过。

代码如下:

<div id="movediv" style="width:250px;height:200px;border:1px #000 solid; position:absolute;left:400px;top:218px;">
<div id="movespan">朋友:用鼠标来拖走我吧!我在这里太久了!</div>
<div style="background:red; height:50px;"></div>
</div>
<script language="JavaScript" type="text/javascript">
var dragdrop={
registerDragdropHandler:function(handler,target,cursor){ // 注册鼠标移动的一些事件。
 var _IsMousedown=false,_ClickLeft=0,_ClickTop=0;
 var _hDom=this.get(handler);
 var _tDom=this.get(target);
 _hDom.style.cursor=cursor||"move";
 
    function startDrag(evt){ // 按下鼠标左键时的事件。
  evt=window.event||evt; // 获取当前事件对象。
  _IsMousedown=true; // 记录已经准备开始移动了。
  _ClickLeft=evt.clientX-parseInt(_tDom.style.left); // 记录当前坐标轴。
  _ClickTop=evt.clientY-parseInt(_tDom.style.top);
 }
    function doDrag(evt){ // 鼠标开始移动时的事件。
  evt=window.event||evt; // 获取当前事件对象。
  if(!_IsMousedown)return false; // 如果_IsMousedown不等于真了返回。
  _tDom.style.left=evt.clientX-_ClickLeft+"px"; // 把鼠标当前移动的位置赋值给div
  _tDom.style.top=evt.clientY-_ClickTop+"px"; // 当前位置减去开始位置就是层当前存放的位置。
 }
    function endDrag(){ // 释放鼠标左键时的事件。
  if(_IsMousedown){ // 如果_IsMousedown还为真那么就赋值为假。
  if(this.isIE) _tDom.releaseCapture(); //该函数从当前的窗口释放鼠标捕获,并恢复通常的鼠标输入处理。
  _IsMousedown=false;
  }
 }
    _hDom.onmousedown=startDrag; // 鼠标按下事件。
 document.onmouseup=endDrag; // 鼠标释放事件。
 document.onmousemove=doDrag; // 鼠标移动事件。
 _tDom.onselectstart=_tDom.oncontextmenu=function(){return false;}; // 禁止选择和右键菜单。
},
isIE:(navigator.appName=="Microsoft Internet Explorer"), // 判断是否为IE。
get:function(element){ // 通过一串字符返回一个对象。
 if(typeof(element) == "string"){
  return document.getElementById(element);
 }
 return element;
}
};
// 使用方式如下:
dragdrop.registerDragdropHandler("movespan","movediv");
</script>
yuyongdema
2011-06-29 · 超过22用户采纳过TA的回答
知道答主
回答量:125
采纳率:0%
帮助的人:52.8万
展开全部
说的不是很详细,大概说下,你可以获取整个DIV的对象然后得到与旁边的对象的一个相对位置,这样就可以通过控制这个相对位置来得到你想要的结果。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
luzhian643
2011-06-29 · TA获得超过104个赞
知道答主
回答量:65
采纳率:100%
帮助的人:35万
展开全部
用js给div一个margin-top属性,
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
wangshuaisupin
2011-06-29 · TA获得超过1884个赞
知道小有建树答主
回答量:805
采纳率:100%
帮助的人:1236万
展开全部
<div style="position:absolute; width:100px; height:100px; background-color:Red; top:100px;" id="divP"></div>
<script type="text/javascript">
var divP = document.getElementById("divP");
function move()
{
divP.style.top = divP.style.top.replace('px','') - 0 + 10 + 'px';
}
window.setInterval("move()",1000);
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式