как правильно отслеживать вставку html()
Всем добрый день. Помоги пожалуйста, поделитесь опытом. Как правильно отслеживать вставку в браузер, например методом .html(data)? Привожу скрипт:
$(element).html(data).css("max-height", $(this).height() / 2); не будет правильно работать, так как высота будет 0, потому, что нужно определенное время для, того что-бы сработал метод .html() и браузер изменил высоту у element. Делал через setInterval (проверял, каждую милисекунду, вставлен ли элемент ). Но не думаю, что это правильное решение. Подскажите как правильно?! |
maxHeight
|
Цитата:
|
....css("maxHeight", $(this).height() / 2); |
Цитата:
|
Да стиль указываете не верно, хотя в jquery уже и так можно.
В данном случаи у вас ничего не выходит, просто потому, что в $(this).height() this это не ваш элемент, а объект window, $(element).height(), будет работать как надо. |
var data = "<div>bla bla .... тут много всего </div>";
$(".content").html(data); // вставляю в див, теперь мне нужно узнать его //новую высоту, после того как я вставил в него новый контент $(".content").height(); // покажет не раельную высоту, а старую высоту, //до ставки контента, потому, что необходимо время что-бы контент //вставился в див и браузер посчитал все стили и определил его //реальную высоту. так вот, вопрос в том, как узнать парсировал браузер ставленный в него контен или нет? |
Цитата:
|
Цитата:
Цитата:
<div></div> <script type="text/javascript" src="http://code.jquery.com/jquery-1.8.2.min.js"></script> <script type="text/javascript"> $("div").eq(0).html("Начальная высота перед вставкой: " + $("div").eq(0).height() + "<br/>").html($("div").eq(0).html() + "После первой вставки: " + $("div").eq(0).height() + "<br/>").css("maxHeight", $("div").eq(0).height()/2).html($("div").eq(0).html() + "После второй вставки и после того как мы её поделили: " + $("div").eq(0).height() + "<br/>"); </script> |
И правда - ошибаюсь)
|
Часовой пояс GMT +3, время: 19:55. |