TGViewer
frontend от ежетты frontend от ежетты @front_hedgehog · 422 subscribers
Post #210 194
Привет! Сегодня немного про panzoom.js
✍️ у вас есть контент, который нужно показывать в определенной области с возможностью увеличивать и уменьшать, а также, когда масштаб увеличен, чтобы можно было мышью перемещать контент по сцене, просматривая его части

1️⃣ подключите panzoom.js тем способом, который удобен вам в вашем проекте: используйте тег <script>, либо установите в проект через npm/yarn и тд, либо импортируйте в js-файл, etc.

2️⃣ контент для panzoom поместите в контейнер, который вы будете использовать для инициализации panzoom-сцены:
<div id="panzoom-element"></div>. Если вам нужны будут кнопки для panzoom, например +/- создайте их вне контейнера panzoom

3️⃣ пример инициализации panzoom:

this.panzoom = Panzoom(document.getElementById('panzoom-element'), {
       /* во сколько раз максимально можно будет увеличивать*/
        maxScale: 5,
        /* во сколько раз увеличить при двойном клике */
        zoomDoubleClickSpeed: 1,
        /* перемещение контента, только при увеличенном масштабе */
        panOnlyWhenZoomed: true,
        /* для сенсорного экрана, касания = перемещение вниз */
        touchAction: 'pan-y',
});


➡️ как менять масштаб
this.panzoom?.zoom(<значение>, { animate: true});


➡️ как менять координаты сцены
this.panzoom?.pan(<значение1>, <значение2>, { relative: true });


➡️ как управлять масштабом при помощи колесика мыши
document.getElementById('panzoom-element').parentElement.addEventListener('wheel', panzoom.zoomWithWheel);


➡️ как удалить объект panzoom
if (this.panzoom) {
    this.panzoom.destroy();
}


🔗 Это не все о panzoom, только самые базовые настройки, подробнее в документации
GitHub GitHub - timmywil/panzoom: A library for panning and zooming elements using CSS transforms :mag: A library for panning and zooming elements using CSS transforms :mag: - timmywil/panzoom
  • 🔥 3
More from @front_hedgehog
  1. Jun 16, 2026Как вы знаете, я уже полгода работаю исключительно с AI. Однако, пора бы что-то делать. Я…
  2. Jun 6, 2026Привет. Продолжаю рассказывать об использовании ИИ в работе разработчика. На этот раз орке…
  3. Apr 13, 2026Как я использую уже целых два AI в работе В основном один (Claude) делает, второй (Codex)…
  4. Mar 10, 2026Девушки в диджитал — топ 💗 Ведь именно те самые девушки закрывают самый сложный тикет, пе…
  5. Mar 10, 2026Привет, 8 марта ещё не кончилось, врываюсь с перепостом подборки каналов девушек в ИТ, куд…
  6. Dec 31, 2025Привет! Вот и новый год наступает. Осталось меньше суток. Хочу вам пожелать самого доброго…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →