Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / HTML, JavaScript, VBScript, CSS Новый топик    Ответить
 Высота блока, Jquery  [new]
Алексей Шм.
Member

Откуда: Приморский край
Сообщений: 82
Заплутал вокруг одного дерева, подскажите пожалуйста.
response подгружает html в блок. Оперирую высотой (height()) этого блока, чтобы откорректировать положение существующих блоков на странице. Только значение этого блока какое-то левое. И по высоте он выводится не весь. Однако если посмотреть высоту блока браузерной отладкой, то в реальности высота правильная

$.post(url, function (response) {
       
            $('#mtc').find('.boxfuvcontent').empty();
            $('#mtc').find('.boxfuvcontent').append(response);

            var heightresp = $('.boxfuvcontent').height();
            alert(heightresp);
        });

То есть в коде значение неправильное, а отладка показывает верное (2000пикс.), но сам блок по высоте обрезается (920пикс). Что за чудеса?

К сообщению приложен файл. Размер - 4Kb
10 ноя 21, 10:16    [22394025]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
Алексей Шм.
Member

Откуда: Приморский край
Сообщений: 82
Алексей Шм.,

К сообщению приложен файл. Размер - 2Kb
10 ноя 21, 10:17    [22394026]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13769
Алексей Шм.
response подгружает html в блок. Оперирую высотой (height()) этого блока, чтобы откорректировать положение существующих блоков на странице. Только значение этого блока какое-то левое. И по высоте он выводится не весь. Однако если посмотреть высоту блока браузерной отладкой, то в реальности высота правильная

Вполне возможно что блок просто не успел полностью от рисоваться браузером...
Т.е. ты читаешь не "конечную" высоту блока.
10 ноя 21, 11:25    [22394076]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
Алексей Шм.
Member

Откуда: Приморский край
Сообщений: 82
krvsa
Алексей Шм.
response подгружает html в блок. Оперирую высотой (height()) этого блока, чтобы откорректировать положение существующих блоков на странице. Только значение этого блока какое-то левое. И по высоте он выводится не весь. Однако если посмотреть высоту блока браузерной отладкой, то в реальности высота правильная

Вполне возможно что блок просто не успел полностью от рисоваться браузером...
Т.е. ты читаешь не "конечную" высоту блока.

Тогда удивляет, что обрезается всегда на одном и том же значении в 920px,независимо от браузера и компа
10 ноя 21, 14:47    [22394221]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13769
Алексей Шм., попробуй, для начала, такой вариант...
$.post(url, function (response) {
	const o = $('#mtc .boxfuvcontent');
	o.empty();
	o.one('load', _ => {
		const heightresp = o.height();
		alert(heightresp);
	})
	o.append(response);

});
10 ноя 21, 15:03    [22394238]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
ShSerge
Member

Откуда: ʚонɔ dиw
Сообщений: 25208
Может, рунтайм-стиль посмотреть?
11 ноя 21, 17:54    [22394759]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
Алексей Шм.
Member

Откуда: Приморский край
Сообщений: 82
krvsa
Алексей Шм., попробуй, для начала, такой вариант...
$.post(url, function (response) {
	const o = $('#mtc .boxfuvcontent');
	o.empty();
	o.one('load', _ => {
		const heightresp = o.height();
		alert(heightresp);
	})
	o.append(response);

});


Также.

ShSerge
Может, рунтайм-стиль посмотреть?

Это где посмотреть?
Заметил, что если перейти на страницу по ссылке с другой страницы - все отлично, а если же обновлять страницу браузера - вот такая беда и происходит.
12 ноя 21, 15:15    [22395152]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
krvsa
Member

Откуда: г Волжский
Сообщений: 13769
Алексей Шм.
Также.

А если с задержкой?
$.post(url, function (response) {
	const o = $('#mtc .boxfuvcontent');
	o.empty();
	o.one('load', _ => {
		setTimeout(_ => {
			const heightresp = o.height();
			alert(heightresp);
		}, 1000)
	})
	o.append(response);

});
12 ноя 21, 15:20    [22395158]     Ответить | Цитировать Сообщить модератору
 Re: Высота блока, Jquery  [new]
Алексей Шм.
Member

Откуда: Приморский край
Сообщений: 82
krvsa
Алексей Шм.
Также.

А если с задержкой?


Почему-то вообще ничего не происходит. НО!
Эта Ваша мысль, что ответ не успевает загрузиться, не давала мне покоя. начал думать, почему именно такая высота (920) выдается всегда и просчитал, что эта высота содержимого без учета высоты пяти изображений. Изображения загружались (первые два), но высота их почему-то была нулевой. Сделал вот так:

$("#mtc").find(".boxfuvcontent").append(response);
            var img = $('.boxfuvcontent').find('img');

            var count = 0;

            img.on('load', function () {
                count++;
                if (count == img.length) {
                    if ($("#mtc").height() < $('.boxfuvcontent').height()) {
                        $("#mtc").attr("orig_height", $("#mtc").height());
                        $("#mtc").height($("#mtc").height() + ($('.boxfuvcontent').height() - $("#mtc").height()) + 70);
                      
                    }



Все успешно заработало.
Спасибо за идею!
14 ноя 21, 04:18    [22395746]     Ответить | Цитировать Сообщить модератору
Все форумы / HTML, JavaScript, VBScript, CSS Ответить