Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   событие resize не срабатывает. (https://javascript.ru/forum/events/40260-sobytie-resize-ne-srabatyvaet.html)

MoZart 29.07.2013 23:32

событие resize не срабатывает.
 
Добрый день.
Не бейте ногами - я новичок.
У меня никак не получается сделать, чтобы по изменению размеров окна браузера запускалась функция, меняющая местоположение элемента. Причём всё остальное должно остаться на своих местах. Отсчёт координат беру от родительского дива.
Прочитал уже много тем, много чего перепробовал, но всё равно не работает.
Пожалуйста, помогите.



<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>BEARGROUP / 8 985 303 00 30</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<script src="images/index.js" type="text/javascript" ></script>
<style type="text/css">
body {
        background-color: transparent;   
	margin:0px;
	padding:0px;
}

#main{
	margin:0px;
	padding:0px;
        max-width: 1920px;
        max-height: 1008px;
	background-color: #ACF;
}

.cent {
        position:absolute;
	margin:0px;
	padding:0px;
	width:100%;
	height:100%;
	background-color: transparent;
        top:0px;
        left:0px;
        float:left;
}
#fon {
        background-color: #ACF;
        z-index:1;
}
#c_01 {
        background-color: transparent;
        z-index:10;

}
</style>
</head>

<body>
<div id="main" onresize="fn00101()">
<div class="cent" id="fon">
        <script type="text/javascript">fn00000()</script>
</div>
<div class="cent" id="c_01">
        <script type="text/javascript">fn00201()</script>
</div>
<script type="text/javascript">fn00101()</script>
</div>

</body>
</html>


Нужно, чтобы перезапустилась функция fn00101(), а всё остальное осталось неизменным.

Что я не так делаю????


ОЧЕНЬ жду Ваших ответов!!!!!

cyber 29.07.2013 23:43

MoZart,
1. под каким наркотиком это писалось?
2. событие resize есть только для window.onresize

MoZart 30.07.2013 00:15

Наркотиков не употребляю. Корявость изъяснения прошу трактовать как нехватку знаний.
Каким образом поймать событие window.onresize? Что сделать, чтобы перерисовывался только один нужный объект?
Я уже вторую ночь не сплю, но понять никак не получается.
Поэтому и прошу помощи на этом форуме.

MoZart 30.07.2013 00:30

сделал так:
<body>


<div id="main">
<div class="cent" id="fon">
            <script type="text/javascript">fn00000()</script>
</div>
<div class="cent" id="c_01">
            <script type="text/javascript">fn00201()</script>
</div>
      <script type="text/javascript">fn00101()</script>
</div>
<script type="text/javascript">
window.onresize=fn00101;
</script>

при загрузке страницы - норма(как и раньше). при ресайзе рисуется только один элемент, который должен перерисоваться. Всё остальное исчезает, а страница уходит в вечное обновление...

Что ещё посоветуете??

cyber 30.07.2013 00:52

MoZart,
для начала ответьте зачем теги script засовывать в div?
Я не совсем понимаю что вам нужно, сделал такой пример может он поможет разобраться
<!DOCTYPE HTML>
<html>
  <head> </head>
  <body>

    <div id='one'>text</div>
    <div id='two'>text</div>
    <div id='three'>text</div>
    
    <script>

      window.onresize = function () {
       
        reDraw();
        reDraw1();
        reDraw2();
      
      }
      
      
      function reDraw () {
      
        document.getElementById('one').innerHTML = 'resize';
      
      }
      
       function reDraw1 () {
        document.getElementById('two').innerHTML = 'resize';
      
      }
      
       function reDraw2 () {
      document.getElementById('three').innerHTML = 'resize';
      
      }


    </script>

  </body>
</html>


П.с советую полностью прочитать учебник http://learn.javascript.ru/

MoZart 30.07.2013 01:15

скрипт внутри дива - для корректной работы с свг(векторная графика)
Скрипты выполняют расчёт позиции и размеров и заполняют див.

MoZart 30.07.2013 02:25

разобрался. сделал другим способом - переопределением стилей.


Часовой пояс GMT +3, время: 13:23.