Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 01.02.2017, 18:17
Новичок на форуме
Отправить личное сообщение для MorfixProton Посмотреть профиль Найти все сообщения от MorfixProton
 
Регистрация: 31.01.2017
Сообщений: 3

Переменная считается не правильно
Делаю универсальное масштабирование страницы под свои нужды:
var newWidth = window.innerWidth; //Получаем ширину
		var newHeight = window.innerHeight; //Получаем высоту
		var Relation = newWidth/newHeight; //Получаем отношение
		var newWidthScale; //Пригодится для скейла по ширине
		var newHeightScale; //Пригодится для скейла по высоте
 //Вообще достаточно и 1 переменной для скейла, тапками не кидайтесь плиз
		alert (newHeight); //Узнаем сколько по высоте (пригодится для проверки вручную)
		if (Relation < 2/3){ //Если экран достаточно высок, чтобы разместить нужный мне элемент, то масштабируем  по ширине, оставляя полосы сверху и снизу
			newWidthScale = ((newWidth - 320) * 0.002625) + 0.8; //Линейное преобразование (допустим наша ширина равна 400, тогда получаем: 80*коэф.масштабирования + базис получаем масштаб равный: 1.01, что является правильным числом)
			document.querySelector("meta[name=viewport]").setAttribute(
			'content', 
			'width=device-width, initial-scale=' + newWidthScale + ', user-scalable=0');
 // Тут в мету запихнули нужное нам число и всё ОТЛИЧНО работает
		} else { //Если экран не достаточно высок, то масштабируем по высоте, оставляя полосы по бокам, и тут начинаются проблемы:
			newHeightScale = ((newHeight - 460) * 0,00101) + 0.8;
 //Итак, вот на моем телефоне он выдал высоту 284, считаем: -0,17776 + 0.8 = 0,62224, но не тут-то было
			alert (newHeightScale); //Выводим и... барабанная дробь... получаем аш 65.8, на другом устройстве вообще было 10096153846154.8
			document.querySelector("meta[name=viewport]").setAttribute(
			'content', 
			'width=device-width, initial-scale=' + newHeightScale + ', user-scalable=0');
		}


Вот если посмотреть на эти числа: 10096153846154.8 и 65.8, заметим, что в конце 0.8, значит проблема, где-то в этом месте:
((newHeight - 460) * 0,00101)


Что это может быть? Переполнение переменной, еще какая-либо ересь?
Ответить с цитированием
  #2 (permalink)  
Старый 01.02.2017, 18:33
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

Сообщение от MorfixProton
проблема, где-то в этом месте:
((newHeight - 460) * 0,00101)
расслабьтесь и попытайтесь увидеть элементарную ошибку в этом коде
Ответить с цитированием
  #3 (permalink)  
Старый 01.02.2017, 18:35
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,068

MorfixProton,
или так: строка 9 и строка 15 найдите одно отличие
Ответить с цитированием
  #4 (permalink)  
Старый 01.02.2017, 19:15
Новичок на форуме
Отправить личное сообщение для MorfixProton Посмотреть профиль Найти все сообщения от MorfixProton
 
Регистрация: 31.01.2017
Сообщений: 3

Ненавижу запятые...
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как правильно обращаться к свойствам объект внутри самого объекта ? mitiya Общие вопросы Javascript 12 25.04.2015 21:18
Не правильно читается переменная Splunchik Javascript под браузер 2 07.04.2015 17:46
Как правильно обновить div из БД в MVC??? espltd AJAX и COMET 2 11.04.2014 01:28
как правильно отслеживать вставку html() bombascter jQuery 15 20.11.2012 09:47
Как правильно послать XML в POST запросе LowCoder AJAX и COMET 10 15.07.2009 23:20