Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 19.11.2012, 12:01
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

как правильно отслеживать вставку html()
Всем добрый день. Помоги пожалуйста, поделитесь опытом. Как правильно отслеживать вставку в браузер, например методом .html(data)? Привожу скрипт:

$(element).html(data).css("max-height", $(this).height() / 2);
не будет правильно работать, так как высота будет 0, потому, что нужно определенное время для, того что-бы сработал метод .html() и браузер изменил высоту у element. Делал через setInterval (проверял, каждую милисекунду, вставлен ли элемент ). Но не думаю, что это правильное решение. Подскажите как правильно?!
Ответить с цитированием
  #2 (permalink)  
Старый 19.11.2012, 12:06
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

maxHeight
__________________
.
Ответить с цитированием
  #3 (permalink)  
Старый 19.11.2012, 12:14
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

Сообщение от Skipp Посмотреть сообщение
maxHeight
А что это дает?
Ответить с цитированием
  #4 (permalink)  
Старый 19.11.2012, 12:26
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

....css("maxHeight", $(this).height() / 2);
__________________
.
Ответить с цитированием
  #5 (permalink)  
Старый 19.11.2012, 12:36
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

Сообщение от Skipp Посмотреть сообщение
....css("maxHeight", $(this).height() / 2);
Это вариант позволит отследить вставку data в element, и только после вставки вернет реальную высоту элемента, или что?
Ответить с цитированием
  #6 (permalink)  
Старый 19.11.2012, 12:45
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 30.03.2010
Сообщений: 1,813

Да стиль указываете не верно, хотя в jquery уже и так можно.
В данном случаи у вас ничего не выходит, просто потому, что в $(this).height() this это не ваш элемент, а объект window, $(element).height(), будет работать как надо.
__________________
.
Ответить с цитированием
  #7 (permalink)  
Старый 19.11.2012, 12:52
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

var data = "<div>bla bla .... тут много всего </div>";

$(".content").html(data); // вставляю в див, теперь мне нужно узнать его
//новую высоту, после того как я вставил в него новый контент
$(".content").height(); // покажет не раельную высоту, а старую высоту, //до ставки контента, потому, что необходимо время что-бы контент
//вставился в див и браузер посчитал все стили и определил его
//реальную высоту.
так вот, вопрос в том, как узнать парсировал браузер ставленный в него контен или нет?
Ответить с цитированием
  #8 (permalink)  
Старый 19.11.2012, 12:54
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

Сообщение от Skipp Посмотреть сообщение
Да стиль указываете не верно, хотя в jquery уже и так можно.
В данном случаи у вас ничего не выходит, просто потому, что в $(this).height() this это не ваш элемент, а объект window, $(element).height(), будет работать как надо.
здесь this как раз будет указывать не на window, а на элемент. Если я не ошибаюсь. Имею ввиду $(element).css("height", $(this).height()/2 )
Ответить с цитированием
  #9 (permalink)  
Старый 19.11.2012, 13:17
Аватар для Skipp
.
Отправить личное сообщение для Skipp Посмотреть профиль Найти все сообщения от Skipp
 
Регистрация: 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 в 13:23.
Ответить с цитированием
  #10 (permalink)  
Старый 19.11.2012, 13:26
Интересующийся
Отправить личное сообщение для bombascter Посмотреть профиль Найти все сообщения от bombascter
 
Регистрация: 19.07.2010
Сообщений: 23

И правда - ошибаюсь)
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Как правильно подавить событие при подключении своего обработчика? Маэстро Firefox/Mozilla 2 03.09.2011 10:46
Как правильно очистить maxlength в input? Маэстро Events/DOM/Window 10 22.06.2011 17:14
Как с помощью JavaScript сохранить какие-либо изменения в HTML документе? FirstFrost Общие вопросы Javascript 1 15.07.2010 15:23
Как отслеживать прогресс загрузки страницы и ошибки? Бобр AJAX и COMET 6 26.01.2010 07:14
Как правильно оформить Send() Алекс97 AJAX и COMET 20 30.10.2008 18:19