Javascript 随机重新定位jQuery UI对话框(复活节彩蛋)

Javascript 随机重新定位jQuery UI对话框(复活节彩蛋),javascript,jquery,jquery-ui,dialog,jquery-ui-dialog,Javascript,Jquery,Jquery Ui,Dialog,Jquery Ui Dialog,我目前正在应用程序中实现复活节彩蛋功能。每当用户将鼠标悬停在jQueryUIClose按钮上时,对话框div应该随机重新定位(因此用户无法关闭它) 以下是我迄今为止所做的尝试: $('.ui-icon-closethick').hover(function() { console.log("hover"); $('#trollDialog').dialog('option', 'position', [randomX, randomY] ); });

我目前正在应用程序中实现复活节彩蛋功能。每当用户将鼠标悬停在jQueryUIClose按钮上时,对话框div应该随机重新定位(因此用户无法关闭它)

以下是我迄今为止所做的尝试:

$('.ui-icon-closethick').hover(function() {
    console.log("hover");

    $('#trollDialog').dialog('option', 'position', 
        [randomX, randomY]
    );
});

不幸的是,对话框根本没有重新定位。如何使用绝对x和y位置重新定位对话框?

不是绝对位置,而是您:


不是完美的随机化,但无论如何都是一个例子

这里有一个快速工作的例子:

$(“#dialog”).dialog();
$(“.ui对话框标题栏关闭”).hover(函数(){
var randomPos=“left”+(Math.random()*10<5?”-“:”+”+数学.random()*100+“+”top”+(Math.random()*10<5?”-“:”+”+数学.random()*100;
$(“#dialog”).dialog(“选项”、“位置”{my:randomPos});
});


randomX和randomY的值是多少?它们来自哪里?这不是选项的工作方式。@j08691没关系,我只想将任何绝对值(以像素为单位)设置为位置。@FrédéricHamidi那么,请您告诉我怎么做好吗?@j08691所以没有办法在pixles中传递绝对值吗?您的解决方案都有效,但是这个答案也提供了正确的jqeryui库。我使用的jQueryUI版本似乎太旧了。为@Mackan提供了一种很好的随机化方法的道具。
$('.ui-icon-closethick').hover(function(e) {
    var newPos = (Math.floor(Math.random() * 2) == 0 ? "left-" : "right-") +
                 (Math.floor(Math.random() * 100)) + " " +
                 (Math.floor(Math.random() * 2) == 0 ? "bottom-" : "top-") +
                 (Math.floor(Math.random() * 100));
    $( "#trollDialog" ).dialog( "option", "position", { 
        my: newPos
    });
});