Модераторы: Sardar, Aliance
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Как можно отследить исходный зум браузера(100%), Направьте в русло) 
V
    Опции темы
Pierre
Дата 1.4.2016, 19:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 3.10.2015

Репутация: нет
Всего: нет



Кто может подсказать, как можно отследить зум браузера по дефолту? 

Соотношение каких величин использовать нужно?(

И нужно ли подобную функцию запускать через setTimeInterval?







PM MAIL   Вверх
_zorn_
Дата 2.4.2016, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1076
Регистрация: 21.8.2007

Репутация: 1
Всего: 12



Боюсь спросить, для чего ?
Может задача неправильно поставлена ?

Поиграю в экстрасенса и предложу вам поискать в направлении "css адаптивность"

Это сообщение отредактировал(а) _zorn_ - 2.4.2016, 07:08
PM MAIL   Вверх
Pierre
Дата 2.4.2016, 09:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 3.10.2015

Репутация: нет
Всего: нет



Задумка такова, что при изменении зума должны происходит некоторые действия с контентом, и при возвращении его изначального состояния, все должно возвращаться на свои места.
А разве media quaries решают вопрос с масштабом? вроде как под определенные разрешения просто пилить верстку.  

PM MAIL   Вверх
Pierre
Дата 2.4.2016, 14:40 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 3.10.2015

Репутация: нет
Всего: нет



Решил сам.

//параметры вьюпорта
var iw = window.innerWidth;
var ih = window.innerHeight;
//функция переопределения параметров
function getValues(){
    iw = window.innerWidth;
    ih = window.innerHeight;
}

function getScale() {
    var nodes = document.querySelectorAll(".node");
    var nodesVis = document.querySelectorAll(".hide");
    var scale = Math.round(iw/window.innerWidth * 10);

    if (Math.round(window.innerWidth*100/iw) !=  Math.round(window.innerHeight*100/ih)){
        //зум не изменился, поменялись размеры окна
        getValues(); //обновим значения ширины и высоты
    }
    else {
        //изменился уровень зума
        //скрываем элементы если зум больше 120%
        if(scale > 12){
            for (var i = 0; i < nodes.length; i++) {
                nodes[i].className = "hide";
            }
            //если зум возвращается к 100% снова показываем элементы
        }else if (scale <= 10){
            for (var j = 0; j < nodesVis.length; j++) {
                nodesVis[j].className = "node";
            }
        }
    }
}

а затем повесил на обработчик resize на window. и все нормуль вроде как)
PM MAIL   Вверх
ksnk
Дата 2.4.2016, 15:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Предлагаю сделать `Ctrl -` 4 раза, подвигать окошко за рамку, сделать `Ctrl+` 1 раз и удивиться.


--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
Pierre
Дата 2.4.2016, 17:57 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 24
Регистрация: 3.10.2015

Репутация: нет
Всего: нет



Цитата(ksnk @ 2.4.2016,  15:26)
Предлагаю сделать `Ctrl -` 4 раза, подвигать окошко за рамку, сделать `Ctrl+` 1 раз и удивиться.

печалька, за 100% зум он берет изначальный, а далее идет как надо, и если уменьшить его в 2 раза, а затем перевести браузер в оконный режим, то исходное состояние зума в 2 раза меньше(50%) и как бы от этого и отталкивается. Как тогда быть?)
PM MAIL   Вверх
ksnk
Дата 2.4.2016, 21:30 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


прохожий
****


Профиль
Группа: Комодератор
Сообщений: 6855
Регистрация: 13.4.2007
Где: СПб

Репутация: 48
Всего: 386



Вероятно, можно не забывать scale. То есть, когда считаешь размер окна после сдвига - "пересчитай" новый размер в соответствии со старым зумом.
Плохо то, что ошибки будет накапливаться, и в случае пропажи события об изменении размера будет такой же конфуз. Но хоть что-то... 



--------------------
Человеку свойственно ошибаться, программисту свойственно ошибаться профессионально ! user posted image
PM MAIL WWW Skype   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | JavaScript: для новичков | Следующая тема »


 




[ Время генерации скрипта: 0.0465 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.