Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/420.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 在作用域之间传输变量值_Javascript_Jquery_Scope_Position_Draggable - Fatal编程技术网

Javascript 在作用域之间传输变量值

Javascript 在作用域之间传输变量值,javascript,jquery,scope,position,draggable,Javascript,Jquery,Scope,Position,Draggable,我已经厌倦了思考这个问题。好的,有一个可拖动的蓝色盒子,;如果它接触到红色框,红色框会突然随机改变位置。我知道,我把所有的密码都弄混了;我对这个编码部分太笨了。但我无法理解这些错误。我需要一个了解我这种情况的人 Jquery部分 $(document).ready(function() { var kol = 253; var score = 0; var redBoxWidth = $('#redBox').width(); var redBoxHeight = $('#redBox').he

我已经厌倦了思考这个问题。好的,有一个可拖动的蓝色盒子,;如果它接触到红色框,红色框会突然随机改变位置。我知道,我把所有的密码都弄混了;我对这个编码部分太笨了。但我无法理解这些错误。我需要一个了解我这种情况的人

Jquery部分

$(document).ready(function() {
var kol = 253;
var score = 0;
var redBoxWidth = $('#redBox').width();
var redBoxHeight = $('#redBox').height();
var redT = $('#redBox').position().top;
var redL = $('#redBox').position().left;
var redBox = $(".redBox");

var blueCoordinates = function(element1) {
    var top;
    var left;
    var blueBoxWidth = $('#blueBox').width();
    var blueBoxHeight = $('#blueBox').height();
    element1 = $(element1);
    top = element1.position().top;
    left = element1.position().left;

    $('#results').text('X: ' + left + ' ' + 'Y: ' + top);
    $('#results3').text('redL: ' + redL + 'redX: ' + redT);
    setTimeout(function() {
        if ((top > (redX) && left > (redY))) {
            setTimeout(function() {
                $('#results2').text(top + "  " + redX + "  " + redY + "  " + redBoxHeight + "   " + redBoxWidth);
            });
            redX = (Math.random() * ($('#canvas').width() - redBoxWidth)).toFixed();
            redY = (Math.random() * ($('#canvas').height() - redBoxHeight)).toFixed();
            redBox.css({
                'position': 'absolute',
                'left': redX + 'px',
                'top': redY + 'px'

            });


        }
        blueCoordinates();
    });
}

$('#blueBox').draggable({
    drag: function() {
        blueCoordinates('#blueBox');
    }
});
})

HTML部分

<div id="canvas">
<div id="blueBox"></div>
<div id="redBox" class="redBox"></div>
</div>
<div id="results" class="results"></div>
<div id="results1" class="results"></div>
<div id="results2" class="results"></div>
<div id="results3" class="results"></div>

我唯一需要的是将redX和redY的值传输到redT和redL

 if ((top > (redX) && left > (redY))) {
        setTimeout(function() {
            $('#results2').text(top + "  " + redX + "  " + redY + "  " + redBoxHeight + "   " + redBoxWidth);
        });
        redX = (Math.random() * ($('#canvas').width() - redBoxWidth)).toFixed();
        redY = (Math.random() * ($('#canvas').height() - redBoxHeight)).toFixed();
      redT=redY;
      redL=redX;
        redBox.css({
            'position': 'absolute',
            'left': redX + 'px',
            'top': redY + 'px'

        });

到底是什么问题?它根本没有按我想要的方式工作。红盒的位置稳定,我无法更改。
 if ((top > (redX) && left > (redY))) {
        setTimeout(function() {
            $('#results2').text(top + "  " + redX + "  " + redY + "  " + redBoxHeight + "   " + redBoxWidth);
        });
        redX = (Math.random() * ($('#canvas').width() - redBoxWidth)).toFixed();
        redY = (Math.random() * ($('#canvas').height() - redBoxHeight)).toFixed();
      redT=redY;
      redL=redX;
        redBox.css({
            'position': 'absolute',
            'left': redX + 'px',
            'top': redY + 'px'

        });