0

我已经研究了一段时间,但无法弄清楚。我正在创建一个调查网站,在其中跟踪光标的位置。我还需要显示带有说明的模态弹出消息 - 到目前为止一切顺利。问题是要关闭模式弹出窗口,通过单击确定,光标将位于预设位置。长话短说,我需要随机化模态弹出窗口的位置,这就是我目前所拥有的:

var ypos = ["top", "bottom"],
    xpos = ["left", "right"],
    yrand = Math.floor(Math.random() * 2),
    xrand = Math.floor(Math.random() * 2);
var box_pos = ypos[yrand] + " " + xpos[xrand];
$('#modalUIWrap').dialog({
    modal: true,
    resizable: false,
    autoOpen: false,
    width: 500,
    position: box_pos,
    buttons: {
        "Got it!": function () {
            $(this).dialog("close");
        }
    }
});

当我摆脱 box_pos 定义中的 xpos 或 ypos 时,它可以正常工作,就像我直接将位置声明为“左上角”或其他任何位置一样,但当我组合它时却不行。有什么想法吗?

4

1 回答 1

0

您已经交换了这些值。文档建议有效string值为"[xpos] [ypos]".

注意这个小提琴的位置是正确的:http: //jsfiddle.net/Q4fFh/

而这个不是:http: //jsfiddle.net/Q4fFh/1/

尝试简单地交换周围的值:

var box_pos = xpos[xrand] + " " + ypos[yrand];

题外话:在屏幕上的随机位置弹出模态对话框可能会惹恼您的用户

于 2014-06-19T13:02:36.437 回答