Как сделать всплывающее окно на JavaScript с возможностью перетаскивания и изменения размера?

Привет всем! Я работаю над проектом и хочу добавить всплывающее окно, которое можно перетаскивать и менять его размер. Нужно сделать это на чистом JavaScript, без использования фреймворков.

Уже несколько дней ломаю голову, как это реализовать. Может, кто-нибудь сталкивался с подобной задачей? Буду благодарен за любые советы или примеры кода.

Важно, чтобы решение работало во всех основных браузерах. Заранее спасибо за помощь!

Для реализации перетаскивания советую использовать CSS свойство position: absolute и менять top/left при движении мыши. Для ресайза можно добавить div в правый нижний угол и отслеживать его перемещение.

Вот примерная структура:

  1. Создаем HTML разметку
  2. Добавляем базовые стили
  3. Навешиваем обработчики событий
  4. Пишем функции для drag и resize

Главное - правильно рассчитывать координаты. Если застрянешь - пиши, разберемся.

О, знакомая задача! я недавно делал что-то похожее. попробуй использовать событие mousedown для начала перетаскивания, mousemove для самого перемещения и mouseup для завершения. для изменения размера можно добавить специальную область в углу окна и обрабатывать те же события. главное - правильно рассчитывать новые координаты при движении мыши.

еще совет - храни позицию и размеры в переменных и обновляй стили через js, так проще отслеживать изменения. удачи с проектом! если что, пиши - постараюсь помочь

Хм, интересная задача! А ты пробовал использовать HTML5 Drag and Drop API? Это может упростить реализацию перетаскивания. Для ресайза можно добавить обработчик на угол окна и менять стили width/height. Главное - не забыть про кроссбраузерность, особенно для старых версий IE. Кстати, а какие браузеры тебе нужно поддерживать? Может, есть какие-то конкретные требования к функционалу?