Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 27.10.2019, 03:06
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Возможно ли использовать конструктор new ResizeSensor более чем с одним элементом?
Есть два блока, необходимо их сравнивать и в зависимости от ширины и высоты совершать определенные манипуляции.

Нашел такую библиотеку JS, в том числе поддерживающую Jquery (хотя на Jquery иногда и неверно вычисляющую размеры). но на JS вычисляет всегда правильно.

Собственно вопрос. Возможно ли изменить следующую функцию (конструктор) чтобы работать в ней сразу с двумя (как минимум) или более селекторами?

Вот так работает только с одним.
var element1 = document.querySelector(".div-resize1");
var element2 = document.querySelector(".div-resize2");

new ResizeSensor(element1, function(size){
	console.log('Ширина: ' + size.width + 'px');
    console.log('Высота: ' + size.height + 'px');
	console.log('размер содержимого изменен');
});


Заранее, благодарю!
Ответить с цитированием
  #2 (permalink)  
Старый 27.10.2019, 18:44
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Если передать массивом:
var element1 = document.querySelector(".div-resize1");
var element2 = document.querySelector(".div-resize2");

let h12 = [element1, element2];

new ResizeSensor(h12, function(size){
    //console.log('Ширина: ' + size.width + 'px');
    //console.log('Высота: ' + size.height + 'px');

// вывести, например, значение высоты
console.log(size.height); // выводится заничение и element1 и element2 одновременно


    console.log('размер содержимого изменен');
});


Как разделить значения element1 и element2?
Ответить с цитированием
  #3 (permalink)  
Старый 27.10.2019, 18:45
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ozoro,
Ответить с цитированием
  #4 (permalink)  
Старый 27.10.2019, 22:23
Аватар для ozoro
Аспирант
Отправить личное сообщение для ozoro Посмотреть профиль Найти все сообщения от ozoro
 
Регистрация: 04.05.2019
Сообщений: 80

Сообщение от рони Посмотреть сообщение
ozoro,
Это недоумение?

сделал так:
var element1 = document.querySelector(".div-resize1");
var element2 = document.querySelector(".div-resize2");

let h12 = [element1, element2];

new ResizeSensor(h12, function(size){

console.log(size);

});



в консоль выводится:
{width: 673, height: 2362}
{width: 673, height: 1252}

это получается массив с объектами?
Как это вывести по отдельности, напимер высоту 1 и 2 элемента по отдельности?

Последний раз редактировалось ozoro, 27.10.2019 в 22:47.
Ответить с цитированием
  #5 (permalink)  
Старый 28.10.2019, 08:12
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

ozoro,
может сформулировать основную задачу?
Ответить с цитированием
Ответ



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

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