Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #31 (permalink)  
Старый 19.07.2021, 14:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сергей Ракипов,
добавил класс для кнопок, пост тот-же #22
Ответить с цитированием
  #32 (permalink)  
Старый 21.07.2021, 09:50
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от рони Посмотреть сообщение
Сергей Ракипов,
добавил класс для кнопок, пост тот-же #22
Спасибо
Ответить с цитированием
  #33 (permalink)  
Старый 21.07.2021, 09:52
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Посмотрел, как идеально все сделано!!!
Ответить с цитированием
  #34 (permalink)  
Старый 21.07.2021, 12:27
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

рони,
А получается что скрипт работает так. Масшат идет от верхнего левого угла.
А как сделать что бы он масштабировался в большую или меньшую сторону от тогда месте который сейчас находится в блоке. Понимаю что это сложно сделать. То хотя бы от центра шел масштаб.
Ответить с цитированием
  #35 (permalink)  
Старый 21.07.2021, 12:39
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Сообщение от Сергей Ракипов Посмотреть сообщение
рони,
А получается что скрипт работает так. Масшат идет от верхнего левого угла.
А как сделать что бы он масштабировался в большую или меньшую сторону от тогда месте который сейчас находится в блоке. Понимаю что это сложно сделать. То хотя бы от центра шел масштаб.
Все вроде разобрался как это сделать, как я понял это вот здесь, но это будет зум от того места который я установлю.
el.addEventListener("pointerdown", pointerHandler);
        let img = el.querySelector("img");
        let ratio = max_ratio = 10;
        const zoom = _ => {
            el.scrollTo(0, 0);
            img.width = min_width + (max_width - min_width) * ratio / max_ratio;
            img.height = img.width * (max_height / max_width);
        }


А можно сделать что бы зум шел от того мета который при просмотре в блоке
Ответить с цитированием
  #36 (permalink)  
Старый 21.07.2021, 12:41
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

И как я понял за центровку изображение отвечает вот эта часть

max_width = img.naturalWidth;
            max_height = img.naturalHeight;
            min_width = el.clientWidth;
            el.style.height = Math.trunc(min_width * (max_height / max_width)) + "px";
            min_height = el.clientHeight;

            el.scrollTo(
                (max_width - min_width) / 2,
                (max_height - min_height) / 2
            );


Просто она не совсем по центру
Ответить с цитированием
  #37 (permalink)  
Старый 21.07.2021, 13:01
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

что то я не много поплыл, а что отвечает за высоту блока

Понял это вот тут

el.style.height = Math.trunc(min_width * (max_height / max_width)) + "px";
            min_height = el.clientHeight;


Сделал так, получилось по центру картинка

max_width = img.naturalWidth;
            max_height = img.naturalHeight;
            min_width = el.clientWidth;
            min_height = el.clientHeight;


А можно сделать так что бы сохранять пропорции в зависимости от разрешения.

Последний раз редактировалось Сергей Ракипов, 21.07.2021 в 13:06.
Ответить с цитированием
  #38 (permalink)  
Старый 21.07.2021, 13:10
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Сергей Ракипов
сохранять пропорции
??? какие пропорции, картинка всегда имеет одну и туже пропорцию.
Ответить с цитированием
  #39 (permalink)  
Старый 21.07.2021, 13:14
Профессор
Отправить личное сообщение для Сергей Ракипов Посмотреть профиль Найти все сообщения от Сергей Ракипов
 
Регистрация: 01.06.2010
Сообщений: 668

Я имею виду не картинку а блок вот это сделать пропорциональный который зависит от разрешение.

.fertezj {
    width: 100%;
    height: auto;
    cursor: crosshair;
    overflow: hidden;
    touch-action: none;
    border: 1px solid rgba(34, 60, 80, 0.9);
    padding: 0;
    margin: 0;
}
Ответить с цитированием
  #40 (permalink)  
Старый 21.07.2021, 13:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,121

Сообщение от Сергей Ракипов
Я имею виду не картинку а блок вот это сделать пропорциональный который зависит от разрешение.
не понимаю.
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как объединить фильтрацию в яндекс картах? Lalviz Общие вопросы Javascript 0 07.06.2020 19:17
Как встроить виджет яндекс карты в компонент angular6? zlodiak Библиотеки/Тулкиты/Фреймворки 0 16.08.2018 22:28
Как убрать табличку в гугл картах? Cdelphi78 Элементы интерфейса 8 08.07.2018 01:00
Вопрос по картах яндекс zerofx Events/DOM/Window 0 12.05.2015 21:33
Как вызывается функция? Мараторий Общие вопросы Javascript 3 22.01.2010 13:18