динамическое диалоговое окно Jquery с позициями x и y

#jquery #jquery-ui #attributes #dynamic-values

#jquery #jquery-пользовательский интерфейс #атрибуты #динамические значения

Вопрос:

Я некоторое время изучал это, но не могу понять. Я создаю веб-сайт для опроса, на котором я отслеживаю положение курсора. Мне нужно также показать модальное всплывающее сообщение с инструкциями — пока все хорошо. проблема в том, что для закрытия модального всплывающего окна нажатием кнопки ok курсор будет находиться в заданном положении. Короче говоря, мне нужно рандомизировать положение модального всплывающего окна, это то, что у меня есть до сих пор:

 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");
        }
    }
});
 

когда я избавляюсь от xpos или ypo в определении box_pos, оно работает нормально, как и тогда, когда я напрямую объявляю позицию «top left» или что-то еще, но не тогда, когда я ее объединяю. Есть мысли?

Ответ №1:

Вы поменяли местами значения. В документации предполагается, что допустимыми string значениями являются "[xpos] [ypos]" .

Обратите внимание, насколько правильна позиция этой скрипки: http://jsfiddle.net/Q4fFh /

И как это не так: http://jsfiddle.net/Q4fFh/1 /

Попробуйте просто поменять местами значения:

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

Не по теме: появление модальных диалоговых окон в случайных местах на экране, вероятно, будет раздражать ваших пользователей