JavaScript图片跟随鼠标

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
    <title></title>
    <script type="text/javascript">
        function anxia(img) {
            var ps = fn_getElementPosition(img);
            var ps_x = event.clientX - ps.x;
            var ps_y = event.clientY - ps.y;
            img.style.position = "absolute";
            img.style.cursor = "move";
            document.body.onmousemove = function () {
                yidong(ps_x, ps_y);
            }
        }
        function fn_getElementPosition(el) {
            var ps = new Object();
            ps.x = el.offsetLeft;
            ps.y = el.offsetTop;
            return ps;
        }
        function yidong(ps_x, ps_y) {
            var im = document.getElementById("tupian");
            var x = event.clientX - ps_x;
            var y = event.clientY - ps_y;
            im.style.top = y+'px';
            im.style.left = x+'px';
        }
        function mouseup() {
            var ps = document.getElementById("tupian");
            ps_x = event.clientX - ps.offsetLeft;
            ps_y = event.clientY - ps.offsetTop;
//            ps.style.top = event.clientX - ps_x;
//            ps.style.left = event.clientX - ps_y;
            ps.style.cursor = "auto";
            document.body.onmousemove = "";
            
            var div2=document.getElementById("div2");
            var d_x = div2.offsetTop;
            var d_y=div2.offsetLeft;
            if (event.clientY > d_x) {
                ps.style.top = div2.offsetHeight + 'px';
                ps.style.left = div2.offsetLeft + 'px';
            }
            else {
                var div1 = document.getElementById("div1");
                var d_x = div1.offsetTop;
                var d_y = div1.offsetLeft;
                ps.style.top = div1.offsetTop + 'px';
                ps.style.left = div1.offsetLeft + 'px';


            }
        }
    </script>
</head>
<body>
    <div id="div1" style="border: 1px solid red; width: 800px; height: 230px">
        <input type="image" id="tupian" src="http://www.baidu.com/img/bdlogo.gif" width="300px" height="230px" onmousedown="anxia(this)" onmouseup="mouseup()" />
    </div>
    <div id="div2" style="border: 1px solid red; width: 800px; height: 230px">
    </div>
</body>
</html>

 

posted @ 2014-07-08 09:16  8932809  阅读(111)  评论(0)    收藏  举报