マウスでなにかしら移動させたかった

ウィンドウをドラッグ(あれ、ドラック?)して移動させることに挑戦してみた。
IE6のみの確認ではあるが一応出来た感じはする。
けれど、なにかが違う・・・。
マウスカーソルの引っ付きが悪い。

<html>
<head>
<style type="text/css">
    #test-dayo {
        position  : absolute;
        width     : 200px;
        height    : 100px;
        background: #222;
    }
</style>
<script type="text/javascript">
    window.onload = function() {
        moveWindow(document.getElementById('test-dayo'));
    };
    function moveWindow(elm) {
        var flag = 0;
        elm.onmousedown = function() {
            flag   = 0;
            var mx = parseFloat(event.x);
            var my = parseFloat(event.y);
            var wx = this.style.left || 0;
            var wy = this.style.top || 0;
            var df_x = mx - parseFloat(wx);
            var df_y = my - parseFloat(wy);
            this.onmouseup  = function() {flag = 1};
            this.onmouseout = function() {flag = 1};
            this.onmousemove = function() {
                if (flag) return;
                event.returnValue = 0;
                var act_x = parseFloat(event.x);
                var act_y = parseFloat(event.y);
                this.style.left = act_x - df_x;
                this.style.top  = act_y - df_y;
            };
        };
    };
</script>
</head>
<body>
    <div id=test-dayo></div>
</body>
</html>

WSHで必要な時にだけ使うようにしとく。
08/10/29 修正

  • 少し直した。