在jQuery拖放中定位div的奇怪延迟

时间:2012-03-20 09:14:08

标签: javascript jquery drag-and-drop

我对Javascript比较陌生,我对jQuery的拖放有问题。 这些是我的文件:

dom.html


<!DOCTYPE HTML>
<head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>DOM</title>
    <meta name="author" content="meme" />
    <!-- Date: 2012-02-21 -->
    <script type="text/javascript" src="jquery-1.7.1.js"></script>
    <script type="text/javascript" src="ui/jquery.ui.core.js"></script>
    <script type="text/javascript" src="ui/jquery.ui.widget.js"></script>
    <script type="text/javascript" src="ui/jquery.ui.mouse.js"></script>
    <script type="text/javascript" src="ui/jquery.ui.draggable.js"></script>
    <script type="text/javascript" src="dom.js"></script>
</head>
<body oncontextmenu="return false" onselectstart="return false">


</body>
</html>

和dom.js


var start = function () {
    var div = document.createElement('div');
    div.style.width = '50px';
    div.style.height = '50px';
    div.style.border = '1px solid black';
    div.id = 'drag';
    document.body.appendChild(div);
    $('#drag').draggable({
        stop: function(event, ui) {
        var xPos = event.pageX/2;
            var yPos = event.pageY/2;
            this.style.left = xPos + 'px';
            this.style.top = yPos + 'px';
            var start = new Date().getTime();
            while ((new Date().getTime() - start) < 1000){
                // Do nothing
            }
    }}
);
}

window.onload = start;

问题是在丢弃之后div的定位延迟(由于while循环)。我的问题是:有没有办法在while循环开始之前更新div的位置?

由于

0 个答案:

没有答案