Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 17.01.2013, 19:31
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

Как получить offsetWidth элемента
Плиз объяснить новичку, почему не выводиться ширина div. В Opera, EI, Chrom работает а в Мозилле нет:
<div id="mydiv" style="width: 100%; display: block;">qwerty</div>
<script>
var znach = mydiv.offsetWidth + 'px';
document.write(znach);
</script>
И если можно скиньте ссылочку если где-нить есть развёрнутая инфа по решению данной проблемы.
Ответить с цитированием
  #2 (permalink)  
Старый 17.01.2013, 19:37
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,071

Chum,
getElementById
Ответить с цитированием
  #3 (permalink)  
Старый 17.01.2013, 19:39
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

<div id="mydiv" style="width: 100%; display: block;">qwerty</div>
<div id="write"></div>
<script>
 var znach = document.getElementById('mydiv').offsetWidth + 'px';
 document.getElementById('write').innerHTML=znach;
 </script>
Ответить с цитированием
  #4 (permalink)  
Старый 17.01.2013, 21:40
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

Спасибо за ответ. Попробую немного уточнить ситуацию, вот например строка html-страницы в которую внедряется SWF-файл:
Код:
 
<object id="FlashID" classid="clsid:A27CDB6E-AE6D-11cf-96B8-444553540000" width="100%" 
height="<?php echo $widhSWF; ?>">
В этой строке высота SWF-файла задаётся при помощи PHP-скрипта:
<?php echo $widthSWF; ?>
коротко и понятно.
Вопрос: есть-ли аналогичный способ вставки при помощи JS короткого значения, или мне придётся загонять весь код div-а внедрения SWF в строку в функции JS, там-же подставлять переменные и выводить всё это при помощи document.getElementById('write').innerHTML
Ответить с цитированием
  #5 (permalink)  
Старый 17.01.2013, 21:59
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Chum,
Непонятно объяснили - выложите HTML код элемента и всех входящих в элемент (*Вставка кода - кнопка
и укажите какому элементу и что нужно прописать
Ответить с цитированием
  #6 (permalink)  
Старый 17.01.2013, 22:56
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

Всё объяснять долго. Речь идёт о вставке в контент SWF-файла, причём рассматривается вариант задания размеров не явных (НЕ н.п. 800 и 600 пкс), а возможно в процентах, для более полного отображения SWF-файла на различных мониторах. Сделать это зная только разрешение монитора не получится, для этого требуется знать реальную ширину div в который внедряется SWF-файл, что можно сделать как я понимаю только в JS при загрузке непосредственно в браузер. При загрузке будет произведён расчёт реальных размеров, выбран оптимальный вариант и весь код будет записан в html.
Я пишу на ActionScript 3, этот язык похож на JS но я с JS работал мало и поэтому сейчас у меня некоторые затруднения.
Сейчас я пробую в JS создать строковую переменную вставки SWF с подстановкой полученных в результате расчёта значений размеров SWF-файла а затем методом document.getElementById('write').innerHTML записать эту строку в div, тем самым вставить SWF-файл.
Ответить с цитированием
  #7 (permalink)  
Старый 17.01.2013, 23:00
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

Chum,
Итоговый HTML ,без скриптов
И второе: размеры до загрузки контента и после - могут быть различны
Какой нужен ?
Ответить с цитированием
  #8 (permalink)  
Старый 17.01.2013, 23:14
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

Вот первоначальный html от которого я отталкивался, он взят из Дрима.
<div style="background-color:#<?php echo $this->item->colswf; ?>">
<?php echo $this->item->editra; ?>
<div>
<script src="components/com_kartarf/images/swf/Scripts/swfobject_modified.js" type="text/javascript"></script>
<object id="FlashID" classid="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" width="<?php echo $this->item->swfwdt; ?>" height="<?php echo $this->item->swfhgt; ?>">
  <param name="movie" value="components/com_kartarf/images/swf/karta.swf" />
  <param name="quality" value="high" />
  <param name="wmode" value="window" />
  <param name="swfversion" value="6.0.65.0" />
  <param name="flashvars" value="<?php echo $this->item->strFlVar; ?>"/>
  <!-- Этот тег param предлагает пользователям Flash Player 6.0 r65 и более поздних версий загрузить последнюю версию Flash Player. Удалите его, если не хотите, чтобы пользователи видели запрос. -->
  <param name="expressinstall" value="Scripts/expressInstall.swf" />
  <!-- Следующий тег object не поддерживается браузером Internet Explorer. Поэтому скройте его от Internet Explorer при помощи IECC. -->
  <!--[if !IE]>-->
  <object type="application/x-shockwave-flash" data="components/com_kartarf/images/swf/karta.swf" width="<?php echo $this->item->swfwdt; ?>" height="<?php echo $this->item->swfhgt; ?>">
    <!--<![endif]-->
    <param name="quality" value="high" />
    <param name="wmode" value="window" />
    <param name="swfversion" value="6.0.65.0" />
    <param name="expressinstall" value="components/com_kartarf/images/swf/Scripts/expressInstall.swf" />
    <param name="flashvars" value="<?php echo $this->item->strFlVar; ?>"/>
    <!-- Браузер отображает следующее альтернативное содержимое для пользователей Flash Player 6.0 и более старых версий. -->
    <div>
      <h4>Для содержимого этой страницы требуется более новая версия Adobe Flash Player.</h4>
      <p><a href="http://www.adobe.com/go/getflashplayer"><img src="http://www.adobe.com/images/shared/download_buttons/get_flash_player.gif" alt="Получить проигрыватель Adobe Flash Player" width="112" height="33" /></a></p>
    </div>
    <!--[if !IE]>-->
  </object>
  <!--<![endif]-->
</object>
<script type="text/javascript">
swfobject.registerObject("FlashID");
</script>
</div><?php echo $this->item->editrb; ?></div>

Если внимательно посмотреть на HTML можно понять что речь идет о компоненте Joomla 2.5
Ответить с цитированием
  #9 (permalink)  
Старый 17.01.2013, 23:18
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

В конечном итоге требуется задать оптимальную высоту SWF для того монитора на котрый загружается SWF
Ответить с цитированием
  #10 (permalink)  
Старый 17.01.2013, 23:24
Интересующийся
Отправить личное сообщение для Chum Посмотреть профиль Найти все сообщения от Chum
 
Регистрация: 17.01.2013
Сообщений: 10

Из того html который я выложил я уберу все комментарии, уберу кое-какие необязательные теги, соберу html покомпактнее, обращу в строку, вставлю полученные из JS размеры и выведу в div, хотя если бы можно было бы тупо вставить полученные размеры в строки 5 и 15 то было бы проще.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
как получить содержимое элемента? Esigns Events/DOM/Window 2 27.09.2012 15:11
Как сделать выборку среди детей одного элемента Почемучкин jQuery 4 29.08.2012 00:51
Получить значение value - как ? lamer Общие вопросы Javascript 26 12.08.2012 10:33
Как получить raw data с image? lyapharov Общие вопросы Javascript 2 07.04.2011 00:20
Как получить значение следующего элемента? _mouse_ Общие вопросы Javascript 4 25.02.2010 11:37