Javascript 随机重新定位jQuery UI对话框(复活节彩蛋)
我目前正在应用程序中实现复活节彩蛋功能。每当用户将鼠标悬停在jQueryUIClose按钮上时,对话框div应该随机重新定位(因此用户无法关闭它) 以下是我迄今为止所做的尝试: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] ); });
$('.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
});
});