Javascript-форум (https://javascript.ru/forum/)
-   jQuery (https://javascript.ru/forum/jquery/)
-   -   Ширина и высота элемента в ПИКСЕЛЯХ (https://javascript.ru/forum/jquery/66364-shirina-i-vysota-ehlementa-v-pikselyakh.html)

Fomax 11.12.2016 15:07

Ширина и высота элемента в ПИКСЕЛЯХ
 
jQuery(window).each(function(){
	var Ww = jQuery(window).width();
	var Wh = jQuery(window).height();
	if(Ww > (Wh + 50)){
		jQuery("#FbigContent img").css("height","80%");
		jQuery("#FbigContent img").css("width","auto");
	}else{
		jQuery("#FbigContent img").css("height","auto");
		jQuery("#FbigContent img").css("width","80%");
	}
	Iw = jQuery("#FbigContent img").width();
	Ih = jQuery("#FbigContent img").height();
	jQuery("#Fnav").css("width",Iw);
	jQuery("#Fnav").css("height",Ih);
	});


Выдает размеры блоку #Fnav равные 0(ширина) и 80px(высота). КАК получить не "проценты и auto", указанные ранее, а обычный пиксельный размер !?

______________________________

Кстати при событии "resize" размеры устанавлиаются в пикселях, как надо. Но "each" косячит...

Infinity178 11.12.2016 20:48

$(window).on('load resize', function(){
		var full_w = $(window).width(),
			full_h = $(window).height() + 50;
			
		img_w = (full_w > full_h) ? '80%' : 'auto';
		img_h = (full_w > full_h) ? 'auto' : '80%';
		$('#FbigContent').find('img').css({
			'width'		: img_w,
			'height'	: img_h,
		});
		var new_w = full_w - $('#FbigContent').find('img').width(),
			new_h = full_h - $('#FbigContent').find('img').height();
		$('#Fnav').css({
			'width' : full_w - new_w,
			'height': full_h - new_h
		});
	});

Fomax 12.12.2016 14:05

Спасибо) Попробую) Что то в этом есть)
Я так понимаю основной смысл в том, что each меняем на load?

Infinity178 13.12.2016 04:49

each перебирает элементы
load resize - обрабатывает после загрузки всей страниц и при изменении размеров окна..

PS в 3+ jQuery косяки с обработчиков .on load

А в целом рекомендую формулу расчета прописать чем % либо опираться на родительные элементы


Часовой пояс GMT +3, время: 08:18.