#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.