Warning: Cannot use a scalar value as an array in /home/admin/public_html/forum/include/fm.class.php on line 757

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/include/fm.class.php on line 770

Warning: Invalid argument supplied for foreach() in /home/admin/public_html/forum/topic.php on line 737
Форумы портала PHP.SU :: Изменение одного блока относительно другого

 PHP.SU

Программирование на PHP, MySQL и другие веб-технологии
PHP.SU Портал     На главную страницу форума Главная     Помощь Помощь     Поиск Поиск     Поиск Яндекс Поиск Яндекс     Вакансии  Пользователи Пользователи


 Страниц (1): [1]   

> Без описания
Domain
Отправлено: 09 Апреля, 2010 - 16:21:50
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Подскажите пожайлуста JS для изменения одного блока относительно другого Улыбка
 
 Top
Тоха
Отправлено: 09 Апреля, 2010 - 16:31:51
Post Id



Гость


Покинул форум
Сообщений всего: 114
Дата рег-ции: Март 2010  
Откуда: Орел, Россия


Помог: 0 раз(а)




например?
 
 Top
JustUserR
Отправлено: 09 Апреля, 2010 - 17:12:11
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Domain пишет:
Подскажите пожайлуста JS для изменения одного блока относительно другого
Если вы имеете в виду позиционирование - то если они позиционированы абсолютно то просто поменять местами их координаты - если относительно то еще проставить соответствующие float и отступы друг от друга
В общем можно поменять блоки местами за счет их вырезки из родительского блока за счет копирования и removeChild и последующей вставки в обработном порядке appendChild


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Domain
Отправлено: 09 Апреля, 2010 - 17:15:42
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Извеняюсь, очень туманно написал.
Я хотел сказать при высоте блока класса content, блок класса bg меняет свою высоту как height(bg) = height(content) - 400px;

(Отредактировано автором: 09 Апреля, 2010 - 17:54:48)

 
 Top
JustUserR
Отправлено: 09 Апреля, 2010 - 19:39:32
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Domain пишет:
Извеняюсь, очень туманно написал.
Я хотел сказать при высоте блока класса content, блок класса bg меняет свою высоту как height(bg) = height(content) - 400px;
Если один находится внутри другого и позиционирование относительное то он сам будет менят свою высоту при правильной привязке Иначе просто с помощью JS рассчитываете текущую высоту блока и для него меняете высоту соответсвующего блока - это можно автоматизировать с помощью CSS-функции expression


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Domain
Отправлено: 09 Апреля, 2010 - 19:51:36
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Да нет они не находятся друг в друге.
Мне нужен JS.
Дайте пример как это пишется.

Пытался мудрить чтото вроде этого
function bgcontent(){
var nodes = document.getElementById("content");
document.getElementByClass("bg").style.height = nodes.offsetHeight- 400 + "px";
}
bgcontent();

неработает
 
 Top
Domain
Отправлено: 10 Апреля, 2010 - 12:05:27
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Domain пишет:
Да нет они не находятся друг в друге.
Мне нужен JS.
Дайте пример как это пишется.

Пытался мудрить чтото вроде этого
function bgcontent(){
var nodes = document.getElementById("content");
document.getElementByClass("bg").style.height = nodes.offsetHeight- 400 + "px";
}
bgcontent();

неработает


Необходимый скрипт:
document.getElementById('bg-repeat-content').style.height = document.getElementById('content').offsetHeight - 1082 + "px";

п.с. Я так понял, чтолибо спрашивать на этом форуме уже бесполезно.

(Отредактировано автором: 10 Апреля, 2010 - 12:05:56)

 
 Top
JustUserR
Отправлено: 10 Апреля, 2010 - 14:21:23
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Domain пишет:
Да нет они не находятся друг в друге. Мне нужен JS.
Тут не особенно принципиально находятся ли они друг в друге или нет - это было бы принципиально при решении данной задачи в чистом CSS Как я понял у вас есть два div-блока и надо чтобы при изменении высоты одного (Например вставки в него текста) изменялся размер и другого блока - для этого в CSS-стиль второго блока можете вставить метод expresion который будет выполнять необходимый пересчет - только лучше использовать currentStyle и runtimeStyle чтобы не выполнялись лишнее операции


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Domain
Отправлено: 10 Апреля, 2010 - 22:52:07
Post Id


Новичок


Покинул форум
Сообщений всего: 48
Дата рег-ции: Февр. 2010  


Помог: 0 раз(а)




Всетаки в большей мере решилось в CSS
CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2.         <style type="text/css">
  3.             .carrier {
  4.                 position: relative;
  5.                 background: aliceblue;
  6.                 font: normal normal normal 18px/normal 'Myriad Pro', 'Trebuchet MS', sans-serif;
  7.             }
  8.             .bg {
  9.                 position: absolute;
  10.                 top: 20px;
  11.                 right: 20px;
  12.                 left: 20px;
  13.                 bottom: 20px;
  14.                 background: yellow;
  15.             }
  16.             .cnt {
  17.                 position: relative;
  18.             }
  19.         </style>
  20.         <div class="carrier">
  21.             <div class="bg"></div>
  22.             <div class="cnt">
  23.                 <p>Do the impossible            See the invisible               Row-row, fight the powah!</p>
  24.          
  25.                 <p>Touch the untouchable                Break the unbreakable           Row-row, fight the powah!</p>
  26.             </div>
  27.         </div>
  28.  


Неработает только в И6, для него JS

CODE (htmlphp):
скопировать код в буфер обмена
  1.  
  2. document.getElementById('bg-repeat-content').style.height = document.getElementById('content').offsetHeight - 1082 + "px";
  3.  
 
 Top
JustUserR
Отправлено: 11 Апреля, 2010 - 15:01:52
Post Id



Активный участник


Покинул форум
Сообщений всего: 8715
Дата рег-ции: Июнь 2009  


Помог: 17 раз(а)




Domain пишет:
Всетаки в большей мере решилось в CSS
Тут все зависит от блочной системы браузера которая у кадого по умолчанию своя При этом за расположения блоков отвечает не только позиционирование float но и опция box-sizing -которая на IE установлена в режим выравниваия по границе блока
Что касается усовершенствоания вашего JS-скрипта то можно сделать так чтобы expression не пересчитывался постоянно - например сделать переопределеющий код в runtimeStyle и только при изменении размера того блока (Например вставки в него текста или другого событя) вызывать expression заново (Поставиь функцию внутри expression которая за это будет отвечать)


-----
Сделать можно все что угодно - нужно только старание, терпение и хороший поисковик Улыбка
Безлимитный web-хостинг от 15 рублей за 40 МБ дискового пространства - http://ihost[dot]oks71[dot]ru/
 
 Top
Страниц (1): [1]
Сейчас эту тему просматривают: 0 (гостей: 0, зарегистрированных: 0)
« JavaScript & VBScript »


Все гости форума могут просматривать этот раздел.
Только зарегистрированные пользователи могут создавать новые темы в этом разделе.
Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.
 



Powered by PHP  Powered By MySQL  Powered by Nginx  Valid CSS  RSS

 
Powered by ExBB FM 1.0 RC1. InvisionExBB