Как мне переместить положение окна на экране компьютера с помощью javascript?

#javascript #jquery #methods #window

#javascript #jquery #методы #окно

Вопрос:

Я помню, как видел мэшап / музыкальное видео Google maps, в котором создавались, изменялись и перемещались окна на экране. Какие методы javascript используются для этого?

Ответ №1:

Я не знаю, насколько это надежно, но для перемещения окна относительно его текущего положения вы можете сделать это:

 window.moveBy(250, 250); //moves 250px to the left and 250px down
 

http://www.w3schools.com/jsref/met_win_moveby.asp

Чтобы переместить окно в определенную часть экрана:

 window.moveTo(0, 0); //moves to the top left corner of the screen (primary)
 

http://www.w3schools.com/jsref/met_win_moveto.asp

Любезно предоставлено @Dan Herbert:

Вероятно, следует отметить, что window.moveTo(0,0) это переместится в верхний левый угол основного экрана. Для людей с несколькими мониторами вы также можете отправить отрицательные координаты для позиционирования на другом мониторе. Вы можете проверить, есть ли второй монитор для перемещения screen.availLeft . Если значение отрицательное, вы можете переместить окно так далеко на второй монитор.

Комментарии:

1. Вероятно, следует отметить, что window.moveTo(0,0) это переместится в верхний левый угол основного экрана. Для людей с несколькими мониторами вы также можете отправить отрицательные координаты для позиционирования на другом мониторе. Вы можете проверить, есть ли второй монитор для перемещения screen.availLeft . Если значение отрицательное, вы можете переместить окно так далеко на второй монитор.

2. Отличное замечание. Я собираюсь включить ваши комментарии в свой ответ.

3. @DanHerbert Обратите внимание, что screen.availLeft не работает для браузеров IE.

Ответ №2:

Из быстрого поиска в Google: перемещение окон

Вы ищете Window.MoveBy и window.moveTo

Я тоже помню это видео, вы выбираете свой родной город и еще много чего? Мне это очень понравилось.

Ответ №3:

Вы перемещаете положение отображаемого объекта, изменяя его верхнее и левое поля, которые вместе являются координатами его верхнего левого угла. Если вы знаете абсолютные координаты целевой позиции, вы можете изменить поля, и объект переместится в это место.

Если вы не знаете абсолютную целевую позицию, а знаете только две относительные дельты (т. Е. Переместите окно вверх на 5 пикселей и вправо на 10 пикселей), вы можете прочитать верхние и левые поля объекта, увеличить их на соответствующие расстояния и установить поля исходя из этого.

Поля являются частью стиля объекта, поэтому вы бы сказали что-то вроде:

   theobject.style.left = 10   'px'; 
  theobject.style.top  = 40   'px';
 

для позиционируемого объекта.

Комментарии:

1. Я думаю, вы можете неправильно меня понять. Я не говорю об элементах на странице. Я говорю о самом окне браузера.

Ответ №4:

Поскольку ваши ссылки содержат якоря, «#», когда вы нажимаете на ссылки, это перемещает страницу обратно наверх. Попробуйте заменить href на что-то вроде:

 href="javascript:void(0)"
 

Это предотвратит выполнение чего-либо внутри href.