Javascript.RU

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

Min-height для блоков с помощью JavaScript
Добрый день уважаемые друзья!
Говорю сразу: Я не из тех лентяев, которые задают вопрос из-за нежелания что-то сделать самим. Я чуток другим занимаюсь, но вопрос ребром.
Итак, суть вопроса. Имеем код, наиболее приблежённый к моей проблеме:
$(document).ready(function() {
 function setEqualHeight(columns)
 {
 var tallestcolumn = 0;
 columns.each(
 function()
 {
 currentHeight = $(this).height();
 if(currentHeight > tallestcolumn)
 {
 tallestcolumn  = currentHeight;
 }
 }
 );
 columns.height(tallestcolumn);
 }
 setEqualHeight($("#bar1,#bar2,#bar3,#bar99));
});


Код сравнивает высоты #bar1,#bar2,#bar3,#bar99, берёт наибольшую, и для всех элементов прописывает свойство наибольшей вычисленой высоты в "инлайн-стайл" для указаных элементов.
Вопросы:
1) Как сделать так чтобы он брал к сравнению не полную высоту #bar1, а высоту с вычетом 250px?
2) Какие внести изменения, чтобы код по-прежнему сравнивал высоты, а в "инлайн-стайл" для элементов записывал не "height", а именно "min-height"?

P.S: Я по-большому счету из-за этого зарегестрировался))) Знаю что вопрос скорее всего не очень сложный... У меня есть друг который работает с JS(специально обученый человек ), но с другом нет связи...
Как говорят: зачем точить топор если мне уже рубить охота))
Будьте так добры помогите.
Заранее спасибо.
Ответить с цитированием
  #2 (permalink)  
Старый 23.07.2012, 16:22
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

STyLe,
Сообщение от STyLe Посмотреть сообщение
1) Как сделать так чтобы он брал к сравнению не полную высоту #bar1, а высоту с вычетом 250px?
currentHeight = $(this).height() - 250;


к тому же в 17 строке должен быть массив,а не "строка"...

Сообщение от STyLe Посмотреть сообщение
2) Какие внести изменения, чтобы код по-прежнему сравнивал высоты, а в "инлайн-стайл" для элементов записывал не "height", а именно "min-height"?
попробуйте
columns.minHeight(tallestcolumn);

но не уверен...

Последний раз редактировалось lord2kim, 23.07.2012 в 16:29.
Ответить с цитированием
  #3 (permalink)  
Старый 23.07.2012, 16:31
Новичок на форуме
Отправить личное сообщение для STyLe Посмотреть профиль Найти все сообщения от STyLe
 
Регистрация: 22.07.2012
Сообщений: 4

Сообщение от lord2kim Посмотреть сообщение
STyLe,

currentHeight = $(this).height() - 250;


к тому же в 17 строке должен быть массив,а не "строка"...
Да кавычку действительно забыл впечатать. Спасибо за внимание.
Но, я так понимаю, из Вашего совета вытекает что 250 px будут вычетатся со всех блоков? А мне нужно лишь чтобы вычиталось лишь с #bar1... или я неправильно Вас понял? Вообщем пошел пробовать...
Ответить с цитированием
  #4 (permalink)  
Старый 23.07.2012, 16:38
без статуса
Отправить личное сообщение для Deff Посмотреть профиль Найти все сообщения от Deff
 
Регистрация: 25.05.2012
Сообщений: 8,219

STyLe,
Возможно так прокатит в концовке скрипта
columns.height(tallestcolumn-250);
 setEqualHeight($("#bar1"));
 columns.height(tallestcolumn+250);
 setEqualHeight($("#bar2,#bar3,#bar99"));
});


Ксать там с кавыками еще походу траблы
Дали б ссылку на Демо страницу

Последний раз редактировалось Deff, 23.07.2012 в 18:20.
Ответить с цитированием
  #5 (permalink)  
Старый 23.07.2012, 17:17
Новичок на форуме
Отправить личное сообщение для STyLe Посмотреть профиль Найти все сообщения от STyLe
 
Регистрация: 22.07.2012
Сообщений: 4

Сообщение от lord2kim
попробуйте
columns.minHeight(tallestcolumn);
но не уверен...
Не сработало, я так понимаю с мин.высотой не судьба, но вот с первым вопросом...Есть решение 100%... И оно где-то рядом...
Сообщение от Deff Посмотреть сообщение
STyLe,
Возможно так прокатит в концовке скрипта
columns.height(tallestcolumn-250);
 setEqualHeight($(#bar1));
 columns.height(tallestcolumn+250);
 setEqualHeight($(#bar2,#bar3,#bar99));
});
Не прокатило(
Ответить с цитированием
  #6 (permalink)  
Старый 23.07.2012, 17:34
Аватар для lord2kim
Профессор
Отправить личное сообщение для lord2kim Посмотреть профиль Найти все сообщения от lord2kim
 
Регистрация: 03.05.2011
Сообщений: 848

STyLe, как вариант
$(document).ready(function() {
 function setEqualHeight(columns)
 {
 var tallestcolumn = 0;
 $.each(columns, 
 function(i)
 {
 currentHeight = (i == 0 ? $(this).height() - 250 : $(this).height());
 if(currentHeight > tallestcolumn)
 {
 tallestcolumn  = currentHeight;
 }
 }
 );
 //columns.height(tallestcolumn);
 }
 setEqualHeight(["#bar1","#bar2","#bar3","#bar99"]);
});
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Регулярные выражения для javascript qwert_ukg Общие вопросы Javascript 3 20.04.2012 13:45
Как убрать рамку - обводку вокруг картинки вставленной с помощью javascript shaman888 Элементы интерфейса 1 16.04.2011 18:50
Последние книги по JavaScript! monolithed Учебные материалы 7 26.10.2010 19:40
Выдвет ошибку JavaScript Ромио Opera, Safari и др. 4 21.10.2010 20:34
Изменение имиджа по таймеру с помощью CSS и JavaScript Aimless Общие вопросы Javascript 10 15.08.2008 18:09