19.11.2012, 14:01
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
как правильно отслеживать вставку html()
Всем добрый день. Помоги пожалуйста, поделитесь опытом. Как правильно отслеживать вставку в браузер, например методом .html(data)? Привожу скрипт:
$(element).html(data).css("max-height", $(this).height() / 2);
не будет правильно работать, так как высота будет 0, потому, что нужно определенное время для, того что-бы сработал метод .html() и браузер изменил высоту у element. Делал через setInterval (проверял, каждую милисекунду, вставлен ли элемент ). Но не думаю, что это правильное решение. Подскажите как правильно?!
|
|
19.11.2012, 14:06
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
maxHeight
__________________
.
|
|
19.11.2012, 14:14
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
Сообщение от Skipp
|
maxHeight
|
А что это дает?
|
|
19.11.2012, 14:26
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
....css("maxHeight", $(this).height() / 2);
__________________
.
|
|
19.11.2012, 14:36
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
Сообщение от Skipp
|
....css("maxHeight", $(this).height() / 2);
|
Это вариант позволит отследить вставку data в element, и только после вставки вернет реальную высоту элемента, или что?
|
|
19.11.2012, 14:45
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
Да стиль указываете не верно, хотя в jquery уже и так можно.
В данном случаи у вас ничего не выходит, просто потому, что в $(this).height() this это не ваш элемент, а объект window, $(element).height(), будет работать как надо.
__________________
.
|
|
19.11.2012, 14:52
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
var data = "<div>bla bla .... тут много всего </div>";
$(".content").html(data); // вставляю в див, теперь мне нужно узнать его
//новую высоту, после того как я вставил в него новый контент
$(".content").height(); // покажет не раельную высоту, а старую высоту, //до ставки контента, потому, что необходимо время что-бы контент
//вставился в див и браузер посчитал все стили и определил его
//реальную высоту.
так вот, вопрос в том, как узнать парсировал браузер ставленный в него контен или нет?
|
|
19.11.2012, 14:54
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
Сообщение от Skipp
|
Да стиль указываете не верно, хотя в jquery уже и так можно.
В данном случаи у вас ничего не выходит, просто потому, что в $(this).height() this это не ваш элемент, а объект window, $(element).height(), будет работать как надо.
|
здесь this как раз будет указывать не на window, а на элемент. Если я не ошибаюсь. Имею ввиду $(element).css("height", $(this).height()/2 )
|
|
19.11.2012, 15:17
|
|
.
|
|
Регистрация: 30.03.2010
Сообщений: 1,813
|
|
Сообщение от bombascter
|
здесь this как раз будет указывать не на window, а на элемент
|
Сообщение от bombascter
|
Если я не ошибаюсь.
|
<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>
__________________
.
Последний раз редактировалось Skipp, 19.11.2012 в 15:23.
|
|
19.11.2012, 15:26
|
Интересующийся
|
|
Регистрация: 19.07.2010
Сообщений: 23
|
|
И правда - ошибаюсь)
|
|
|
|