求教 js拖动代码

tuhuolongan 2012-12-05 07:56:49
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>JS拖动层</title>
</head>
<body>
<div id="f" style="position: absolute; width: 216px; height: 138px; background-color: skyblue;font-size: 12px; top: 210px; left: 180px; z-index: 1; border: solid 1px blue;">
<div id="title" style="background-color: Blue; cursor: move; height: 20px; color: #fff;font-size: 12px; padding-top: 5px; padding-left: 10px;" onclick="a(s)">层的标题</div>
层的内容 </div>
<script type="text/javascript">
var posX;
var posY;
fdiv = document.getElementById("f");
document.getElementById("title").onmousedown=function(e)
{
alert(typeof(e))
if(!e) e = window.event; //IE
posX = e.clientX - parseInt(fdiv.style.left);
posY = e.clientY - parseInt(fdiv.style.top);
document.onmousemove = mousemove;
}
document.onmouseup = function()
{
document.onmousemove = null;
}
function mousemove(ev)
{
if(ev==null) ev = window.event;//IE
fdiv.style.left = (ev.clientX - posX) + "px";
fdiv.style.top = (ev.clientY - posY) + "px";
}

</script>
</body>
</html>

这句 document.getElementById("title").onmousedown=function(e) e 的参数呢?
还有这句 document.onmousemove = mousemove; 这样就可以调用 function mousemove(ev)函数吗? 不要参数也不要()?
...全文
126 2 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
豪情 2012-12-05
  • 打赏
  • 举报
回复
document.getElementById("title").onmousedown=function(e) e e 就是一个形参。 document.onmousemove = mousemove 传递的一个引用,就是一个地址,一个门牌号。e会自动获取。如果加括号了,就成了把函数运行后的结果赋值给onmousemove达不到传递值的作用。
scscms太阳光 2012-12-05
  • 打赏
  • 举报
回复
<style type="text/css">
    #tt{
        position: absolute;
        border: 1px solid red;
        width:200px;height:200px;
        background-color: #ddd;
    }
</style>
<div id="tt"></div>
<script type="text/javascript">
    function move(e){
        var oe=e||window.event;
        var $this = this;
        var startX = oe.clientX - $this.offsetLeft;
        var startY = oe.clientY - $this.offsetTop;
        document.onmousemove = function (e) {
            var oe = e || window.event;
            $this.style.left = oe.clientX - startX + "px";
            $this.style.top = oe.clientY - startY + "px";
        };
        document.onmouseup = function () {
            document.onmousemove = null;
            document.onmouseup = null;
            if ($this.releaseCapture) {
                $this.releaseCapture();
            }
        };
        if ($this.setCapture) {
            $this.setCapture();
        }
    }
    document.getElementById("tt").onmousedown=move;
</script>

87,996

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧