Задать вопрос
romka123
@romka123
Переучиваюсь из PHP в Java разраба

Как вычислить разницу между размером фотографии и размером экрана браузера JQuery?

Приветствую друзья! Не сказать, чтобы я был новичком в JS, но знаю я его плохо. Сейчас появилась задача выяснить размер картинки и размеров окна браузера (читай размер div т.к. картинка должна распологаться во весь экран, а та сторона что не влезет должна ездить туда-сюда). Реализовал такое вот решение (код урезал, полную версию кода можно посмотреть тут):
var widthImage = $(this).width();
    var heightImage = $(this).height();
	var doc_w, doc_h;
		$(".backgroundImage").css("width", "100%");
		doc_h = $(document).width();
		var difference = heightImage - doc_h;//Получаем остаток не вошедший в экран в пикселях
		if (difference > 1)
		{
			for (var i = difference; i > 1; i -= 1)
			{
				$(".testClass").text("Width: " + widthImage + " height: " + heightImage + " screenWidth " + doc_w + " screenHeight " + doc_h + " difference: " + difference);
				$("#scene").animate({top: '-=1px'}, 1);
			}
		}

Проблема в том, что вычисляются фактические размеры картинки, но они абсолютно не меняются при изменении размера браузера (что логично). Но картинка всегда подстраивается под окно при помощи css и её ширина = 100%. Как мне получить не фактический размер картинки, а размер её обёртки который равен 100% ширины х Пропорциональная высота? Для лучшего понимания о чём речь вот пример того, что я сделал.
  • Вопрос задан
  • 416 просмотров
Подписаться 1 Оценить 2 комментария
Решения вопроса 2
Набросок: jsfiddle.net/0hwrb4he. Надо ещё доработать функцию updatePrimaryDirection, чтобы правильно работала с вертикально-ориентированными изображениями; проверить как работает в IE9; обработать ситуацию когда пропорции контейнера и изображения почти равны и анимация становится очень дёрганной, и подобные мелочи.
Ответ написан
maxsof
@maxsof
Фронтенд-разработчик
Как мне получить не фактический размер картинки, а размер её обёртки который равен 100% ширины х Пропорциональная высота?

Попробуйте обернуть картинку блоком с display: inline-block и находить через js ширину и высоту этого блока.
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
@frees2
Проценты пропишите, пример как меняется, вместо картину ифрем. dulsky.eu/v
$(document).ready(function()  
{ $('#player').height($('#player').width()/1.7589879); $(window).resize(function(){
$('#player').height($('#player').width()/1.7589879);});  var bodyHeight = $('body').height();	var vwptHeight = $(window).height();
if (vwptHeight > bodyHeight){$('#player').css({'bottom':'16%'});} ;{$('#t').css({'bottom':'40%'} );}    ;{$('#ms').css({'bottom':'2%'} );};{$('#draggable66').css({'bottom':'1%'} );}
});
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы