Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Увеличение высоты DIVа по нажатию ссылки (https://javascript.ru/forum/misc/14388-uvelichenie-vysoty-diva-po-nazhatiyu-ssylki.html)

bruklin24 14.01.2011 03:12

Увеличение высоты DIVа по нажатию ссылки
 
Вот в чем проблема:помогите плиз!
Имеется 2 дива. Внутренний содержит текст и изображения,причем он больше внешнего!в "данный" момент видна некоторая часть текста. Хочу при нажатии на ссылку чтобы раздвигался внешний див до тех пор пока есть контент во внутреннем!(т.е. стала видна вся информация в этом блоке) И при повторном нажатии на "эту же " ссылку блок возвращался в исходное положение.

Изменить высоту блока получилось сделать ТАК:
<script type="text/javascript">

$("#podrobnee").click(function(){
$("#divForm").animate({ height: "60%", }, 1500);

});

</script>
Эксперементировал со значением "height" и вот что то получилось... а вот с возвратом блока туговато..(сам только начинаю вникать в скрипты...

ksa 14.01.2011 10:41

Цитата:

Сообщение от bruklin24
при повторном нажатии на "эту же " ссылку блок возвращался в исходное положение

То "исходное положение" нужно либо знать... Либо где-то хранить...

bruklin24 14.01.2011 11:01

Так вот же... высота исходного блока(divForm) =220px.Хочу при нажатии на ту же ссылку("podrobnee") блок подымался "вверх"(к исходному состоянию)

ksa 14.01.2011 13:16

Цитата:

Сообщение от bruklin24
высота исходного блока(divForm) =220px

Т.е. она постоянная и тебе известна заранее?

Если так:
- Читай размер дива
- Если он не равен 220px - делай таковым. Если равен - делай как делал ранее

ksa 14.01.2011 13:34

Как вариант...

<!DOCTYPE html>
<html>
<head>
<title>test</title>
<script>
function Go() {
	var o = document.getElementById('divForm')
	var h=(o.style.height)? parseInt(o.style.height): 100
	o.style.height=((h==100)? 200: 100) + 'px'
}
</script>
<style>
#divForm {
	width: 200px;
	height: 100px;
	overflow: hidden;
	border: 1px solid;
}
#podrobnee {
	width: 100px;
	height: 150px;
	margin: 10px;
	background-color: red;
}
</style>
</head>
<body>
<div id='divForm'>
	<div id='podrobnee'>
	</div>
</div>
<hr />
<input type='button' value='Go' onclick='Go()' />
</body>
</html>

bruklin24 18.01.2011 02:00

Вложений: 1
Да но... мне нужно чтобы див раздвигался в зависимости от кол-ва содержащегося в нем контента!(и не больше! ) Информация будет разных объемов и поэтому это должно как то просчитываться. А по второму щелчку принимал исходнуюю высоту height=220px;

Вот примерно намалевал;

ksa 18.01.2011 09:29

Цитата:

Сообщение от bruklin24
Вот примерно намалевал

А может пора тестовый пример ваять? Не ленись... :nono:

bruklin24 18.01.2011 12:11

Да я бы рад, да толком нечего предложить. Как я понял нужно сначала считать высоты 2х дивов!

<script>

function setHeight() {
var b1 = document.getElementById('divForm');
var b2 = document.getElementById('Description');
if (!b1 || !b2) return;
var h1 = b1.offsetHeight;
var h2 = b2.offsetHeight;

</script>
затем сравнить высоты, если неравны то уровнять.

Направьте на нужный лад пожалуйста! Помогите разобраться (я новичок, в коде js чувствую себя пока не уверенно )

ksa 18.01.2011 16:37

Цитата:

Сообщение от bruklin24
толком нечего предложить

Например деньги... :) Они есть у тебя?

Danilkin500 28.05.2014 11:19

Привет всем!!! Придерживаюсь к данному вопросу по поводу высоты! Помогите доработать предложенный выше код так чтобы открытие блока формировалось относительно содержимого. Огромное спасибо за помощь заранее!

Danilkin500 28.05.2014 11:22

Или дайте ссылку если где то реализовано. По-любому такого в сети много. Помогите если кто может это сделать!

Danilkin500 28.05.2014 12:06

Никто из программистов не знает?

рони 28.05.2014 12:23

Danilkin500,
http://learn.javascript.ru/metrics
тут вся необходимая информация по вашему вопросу

kirgirgir 28.05.2014 12:23

Danilkin500,
Который раз пытался на этот форум обратиться - ничего. На любой вопрос - дай денег. Зачем нужен такой форум? За услугами я могу обратиться в компанию разработчиков и там дать денег. Форум это, если я правильно понимаю, объединение лиц по интересам, которые помогают по вопросам друг другу. Здесь же такое ощущение как будто объединение ноющих и просящих помощи (короче доска слез не знающих основ программирования) и в итоге не получающих ничего, кроме... дай денег.

Сколько не пытался найти ответа на этом форуме конечным сообщением будет "дай денег" и все. Никакого толкового решения. Это печально...

MallSerg 28.05.2014 13:14

http://www.sql.ru/forum/940953/posob...v-i-shkolnikov


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