Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 03.07.2017, 13:16
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

как отловить ширину #div после его заполнения html из AJAX ?
приветы!

у меня есть такой AJAX:
$.ajax({
        type: 'GET',
        url: script +this_data,
        success: function (data) {ajaxRESULT(data);},
        error: function (response,exception) {E_alert('error'+this_data,response,exception);return false;}
});


после которого в ajaxRESULT() я гружу контент во всплывающее окно:
$('#FB_div').html(some_html_from_data);


и вот ВОПРОС: КАК и ГДЕ мне отловить ширину #FB_div с заполненными уже данными?? Например там таблица, а ширина блока всё-равно 0

пробовал в success И complete, предварительно проверял, что контент уже загружен в блок, но всё-равно $('#FB_div').innerWidth() == 0

ещё пробовал так:
$.ajax({...}).done(function(data) {alert($('#FB_div').innerWidth());});


что я делаю не так?
мне его например нужно отцентрировать, исходя из его размеров, или сместить куда-то, а я не могу

Последний раз редактировалось greenwar, 03.07.2017 в 13:20.
Ответить с цитированием
  #2 (permalink)  
Старый 03.07.2017, 13:34
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

greenwar,
а так?
alert($('#FB_div').html(some_html_from_data).show().innerWidth() );
Ответить с цитированием
  #3 (permalink)  
Старый 03.07.2017, 16:30
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

Дык оно же и не меняется...

<style>
div {
   display:none;
   border:1px solid black;
   width:0px;
}
</style>
<div id='FB_div'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$('#FB_div').html('<table><tr><td>some_html_from_data</td></tr></table>');
$('#FB_div').show();
alert($('#FB_div').innerWidth());
</script>
Ответить с цитированием
  #4 (permalink)  
Старый 03.07.2017, 16:40
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

блин
тогда как же ловить ширину загруженного контента то?
там у jquery есть плагин fancybox, в нём всё это ведь есть

Последний раз редактировалось greenwar, 03.07.2017 в 16:43.
Ответить с цитированием
  #5 (permalink)  
Старый 03.07.2017, 16:50
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

greenwar,
Сообщение от greenwar
тогда как же ловить ширину загруженного контента то
Загруженного - так загруженного
<style>
div {
   display:none;
   border:1px solid black;
   width:0px;
}
</style>
<div id='FB_div'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$('#FB_div').html('<table><tr><td>some_html_from_data</td></tr></table>');
$('#FB_div').show();
alert($('table').innerWidth());
$('#FB_div').width($('table').outerWidth());
</script>

И адаптировать под него

Или строка 14 так
$('#FB_div').width($('#FB_div').children().outerWidth());

Последний раз редактировалось Dilettante_Pro, 03.07.2017 в 17:02.
Ответить с цитированием
  #6 (permalink)  
Старый 03.07.2017, 17:02
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

greenwar,
вариант ...
<style>
div {
  display:none;
  border:1px solid black;
  width:0px;
}
</style>
<div id='FB_div'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$('#FB_div').html('<table><tr><td>some_html_from_data</td></tr></table>');
$('#FB_div').show();
alert($('#FB_div')[0].scrollWidth);
</script>
Ответить с цитированием
  #7 (permalink)  
Старый 03.07.2017, 17:03
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

greenwar,
или так
<style>
div {
  display:none;
  border:1px solid black;
  width:0px;
}
</style>
<div id='FB_div'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$('#FB_div').html('<table><tr><td>some_html_from_data</td></tr></table>');
$('#FB_div').show();
alert($('#FB_div>').outerWidth());
</script>
Ответить с цитированием
  #8 (permalink)  
Старый 03.07.2017, 17:19
Профессор
Отправить личное сообщение для Dilettante_Pro Посмотреть профиль Найти все сообщения от Dilettante_Pro
 
Регистрация: 27.11.2015
Сообщений: 2,899

рони,
Сообщение от рони
или так
И адаптировать!
<style>
div {
  display:none;
  border:1px solid black;
  width:0px;
}
</style>
<div id='FB_div'></div>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

<script>
$('#FB_div').html('<table><tr><td>some_html_from_data</td></tr></table>');
$('#FB_div').show();
alert($('#FB_div>').outerWidth());
$('#FB_div').width($('#FB_div>').outerWidth());

</script>


Интересный селектор... '#FB_div>'
Ответить с цитированием
  #9 (permalink)  
Старый 03.07.2017, 17:23
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,144

Сообщение от Dilettante_Pro
Интересный селектор...
Ответить с цитированием
  #10 (permalink)  
Старый 05.07.2017, 13:26
Профессор
Отправить личное сообщение для greenwar Посмотреть профиль Найти все сообщения от greenwar
 
Регистрация: 19.08.2010
Сообщений: 150

я нашёл такое решение: сброс предыдущей установки так: .css('max-width','');
чтобы когда большое окно вылезло (например 90%), после него мелкое окно не грузилось снова в 90%...
И тогда встаёт по ширине контента, и всё бы хорошо, НО... это в лисе...
а в хроме - нет! В хроме он сук занимает всё что в defaults.css выдано для #FB_div, все 80%

вот если картинка в контент грузится, то норм он #FB_div обжимает прям по размеру картинки
а если таблица с данными, то тянет на всю ширину...

ну видимо буду там где html через аякс слать % для окна, а для картинок - нет

Последний раз редактировалось greenwar, 05.07.2017 в 13:31.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Решение проблемы кодировок для AJAX и PHP без iconv (cp1251 в AJAX) Serge Ageyev AJAX и COMET 10 24.04.2013 20:48
Как определить ширину вертик. скроллбара и его присутствие? javascripter Элементы интерфейса 3 26.02.2011 14:57
Как получить размер блока сразу после изменения его содержимого? Cooskon Events/DOM/Window 6 17.09.2010 16:15
Как обнулить переменные после завершения скрипта QRS jQuery 3 07.07.2010 03:08
Как в ajax запросе передать файл методом POST mcpro jQuery 1 16.12.2009 11:41