Javascript.RU

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

Сворачивающийся текст с обтеканием.
Добрый вечер.
Хочу сделать описание, которое будет разворачиваться в полный объем и обтекать картинку. Но javaScript не хочет делать это вместе. После выполнения замены стилей, обратное действие в блоке else выполняется только для изменения height, а overflow обратно в hidden не хочет уходить. Прошу помощи
(function () {
      var flag = true;

    $("button").click(function () {
      if (flag) {
	  
        var height = $("#tab-description").css("height", "auto").height();
	    var overflow = $("#tab-description").css("overflow", "visible");
		
         $("#tab-description").css("height", "95px")
         $("#tab-description").animate({"height": height});
		 
		 $("#tab-description").css("overflow", "hidden")
         $("#tab-description").animate({"overflow": overflow}); 
		
		 } 
		 
		if(!flag)
		 {

         $("#tab-description").animate({"height": "95px"});
		 $("#tab-description").animate({"overflow": "hidden"}); 

		 }
   
flag = !flag;
});
   })()
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2016, 17:04
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

mbrogan,
animate предназначено только для цифровых значений
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2016, 17:14
Интересующийся
Отправить личное сообщение для mbrogan Посмотреть профиль Найти все сообщения от mbrogan
 
Регистрация: 12.09.2016
Сообщений: 12

Сообщение от рони Посмотреть сообщение
mbrogan,
animate предназначено только для цифровых значений
Но он же выполняет animate при выполнении условия
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2016, 17:21
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от mbrogan
Но он же выполняет animate при выполнении условия
в строках 14 и 22 написан бред, особенно в 14, но jquery сделано так что способно выдержать ещё не такую ересь и не свалится в аут.

Последний раз редактировалось рони, 12.09.2016 в 17:23.
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2016, 17:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

mbrogan,
попробуйте сделать через .toggleClass() используя только css
Ответить с цитированием
  #6 (permalink)  
Старый 12.09.2016, 18:18
Интересующийся
Отправить личное сообщение для mbrogan Посмотреть профиль Найти все сообщения от mbrogan
 
Регистрация: 12.09.2016
Сообщений: 12

Сообщение от рони Посмотреть сообщение
mbrogan,
попробуйте сделать через .toggleClass() используя только css
Спасибо, все решилось, таким образом:
(function () {
      var flag = true;

    $("button").click(function () {
      if (flag) {
	  
        var height = $("#tab-description").css("height", "auto").height();
	    var overflow = $("#tab-description").css("overflow", "visible");
		
         $("#tab-description").css("height", "106px")
         $("#tab-description").animate({"height": height});
		 
 
		document.getElementById('tab-description').style.overflow = 'visible';
		 } 
		 
		else
		 {
 document.getElementById('tab-description').style.overflow = 'hidden';
         $("#tab-description").animate({"height": "106px"});

		 }
   
flag = !flag;
});
   })()


Причем пришлось переставлять местами
document.getElementById('tab-description').style.overflow = 'hidden';
         $("#tab-description").animate({"height": "106px"});

почему то не хотел работать.
Ответить с цитированием
  #7 (permalink)  
Старый 12.09.2016, 18:38
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,072

Сообщение от mbrogan
document.getElementById('tab-description').style.overflow = 'visible';
$("#tab-description").css("overflow", "visible");

если пишите на jquery не мешайте с js, по желанию.
Ответить с цитированием
  #8 (permalink)  
Старый 12.09.2016, 20:14
Интересующийся
Отправить личное сообщение для mbrogan Посмотреть профиль Найти все сообщения от mbrogan
 
Регистрация: 12.09.2016
Сообщений: 12

Сообщение от рони Посмотреть сообщение
$("#tab-description").css("overflow", "visible");

если пишите на jquery не мешайте с js, по желанию.
Благодарю за совет
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Раскрывающийся список с объемными текстами morzer Общие вопросы Javascript 4 11.07.2016 14:54
проблема со scroll Chrome Элементы интерфейса 2 21.10.2013 14:46
прогкрутка к якорям cOAPerator Общие вопросы Javascript 20 27.08.2013 03:30
Выравнять три дива в одной строке debugx (X)HTML/CSS 9 06.10.2011 12:03