js鼠标拖动div

JavaScript020

js鼠标拖动div,第1张

你的obj.style.left是获取不到的因为该div没有设置style属性所以只要将样式改为行内就行了

<!DOCTYPE html>

<html lang="en">

<head>

    <meta charset="UTF-8">

    <title>文哥讨厌IE</title>

</head>

<body>

    <div id="over" onmousedown="down(this,event)" style="width:100pxheight:30pxbackground:redposition:absoluteleft:20pxtop:500px" onmousemove="move(this,event)" onmouseup="seup(this,event)">

        

    </div>

<script type="text/javascript">

    var posX,posY

    var downX,downY

    var mark=false

    function down(obj,event)

    {

        obj.style.cursor="move"

        posX=obj.style.left

        posY=obj.style.top

        downX=event.clientX

        downY=event.clientY

        mark=true

        ///alert(posX)

        ///alert(posY)

    }

    function move(obj,event)

    {

        var moveX=event.clientX

        var moveY=event.clientY

        if (mark) {

            obj.style.left=parseInt(moveX) + parseInt(posX) - parseInt(downX) + "px"

            obj.style.top=parseInt(moveY) + parseInt(posY) - parseInt(downY)+ "px"

        }

    }

    function seup(obj,event)

    {

        if (mark) {

            var moveX=event.clientX

            var moveY=event.clientY

            obj.style.left=parseInt(moveX) + parseInt(posX) - parseInt(downX)+ "px"

            obj.style.top=parseInt(moveY) + parseInt(posY) - parseInt(downY)+ "px"

            downX=moveX

            downY=moveY

        }

        obj.style.cursor="default"

            mark = false 

    }

</script>

</body>

</html>

可以,用创建和插入元素

<!DOCTYPE html>

<html>

<head>

<title>New Document </title>

<meta charset="utf-8" />

<style>

div {border: 1px solid #666padding: 5pxmargin: 5px}

#divs {width: 200px}

#div5 {background: #ccc}

</style>

</head>

<body>

<div id="divs">

<div id="div1">div1</div>

<div id="div2">div2</div>

<div id="div3">div3</div>

<div id="div4">div4</div>

</div>

<script>

var oDivs=document.getElementById('divs')

var oDiv3=document.getElementById('div3')//获取到div3,因为等下要把创建的div插入到div3前面。

var oDiv5=document.createElement('div')//创建一个div元素。

oDiv5.id='div5'//id样式可以先在样式表中写好,然后赋值一个id给创建出来的div元素。

oDiv5.innerHTML='<span>这是被创建出来的div5</span>' //给创建出来的div添加内容,内容中可以有html标签嵌套。

oDivs.insertBefore(oDiv5,oDiv3)//在大的div元素下插入创建出来的元素,第一个参数是创建的div,第二个参数是要插入到哪个div前面。

</script>

</body>

</html>