随机重新定位 jQuery UI 对话框(彩蛋)
Randomly reposition jQuery UI dialog (easter egg)
我目前正在我的应用程序中实现彩蛋功能。每当用户将鼠标悬停在 jQuery UI 关闭按钮上时,对话框 div 应该随机重新定位(因此用户无法关闭它)。
这是我到目前为止尝试过的方法:
$('.ui-icon-closethick').hover(function() {
console.log("hover");
$('#trollDialog').dialog('option', 'position',
[randomX, randomY]
);
});
不幸的是,对话框根本没有重新定位。我如何重新定位具有绝对 x 和 y 位置的对话框?
不是绝对定位,而是你can do relative:
$('.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
});
});
不是完美的随机化,但无论如何都是一个例子
这是一个快速的工作示例:
$("#dialog").dialog();
$(".ui-dialog-titlebar-close").hover(function () {
var randomPos = "left" + (Math.random() * 10 < 5 ? "-" : "+") + Math.random() * 100 + " " + "top" + (Math.random() * 10 < 5 ? "-" : "+") + Math.random() * 100;
$("#dialog").dialog("option", "position", { my: randomPos });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<div id="dialog" title="Hover to Move"></div>
如果要使用 jQuery-UI 的 position
[,则必须设置 left
和 top
属性的偏移量=15=]
注意:如果您查看 "Full Page"
,该代码段效果会更好
我目前正在我的应用程序中实现彩蛋功能。每当用户将鼠标悬停在 jQuery UI 关闭按钮上时,对话框 div 应该随机重新定位(因此用户无法关闭它)。
这是我到目前为止尝试过的方法:
$('.ui-icon-closethick').hover(function() {
console.log("hover");
$('#trollDialog').dialog('option', 'position',
[randomX, randomY]
);
});
不幸的是,对话框根本没有重新定位。我如何重新定位具有绝对 x 和 y 位置的对话框?
不是绝对定位,而是你can do relative:
$('.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
});
});
不是完美的随机化,但无论如何都是一个例子
这是一个快速的工作示例:
$("#dialog").dialog();
$(".ui-dialog-titlebar-close").hover(function () {
var randomPos = "left" + (Math.random() * 10 < 5 ? "-" : "+") + Math.random() * 100 + " " + "top" + (Math.random() * 10 < 5 ? "-" : "+") + Math.random() * 100;
$("#dialog").dialog("option", "position", { my: randomPos });
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<link href="http://code.jquery.com/ui/1.10.3/themes/smoothness/jquery-ui.css" rel="stylesheet" />
<script src="http://code.jquery.com/ui/1.10.3/jquery-ui.js"></script>
<div id="dialog" title="Hover to Move"></div>
如果要使用 jQuery-UI 的 position
[,则必须设置 left
和 top
属性的偏移量=15=]
注意:如果您查看 "Full Page"
,该代码段效果会更好