Как адаптировать изменение JS вкладок к высоте перехода при изменении вкладки?

У меня есть код, который успешно меняет некоторые вкладки при нажатии. Проблема, с которой я сталкиваюсь, заключается в том, что при изменении вкладки, если содержимое вкладки отличается по высоте, содержимое под ней подпрыгивает вверх и вниз при изменении.

Мне было интересно, есть ли способ адаптировать мои текущие настройки, чтобы добавить какой-то переход, чтобы содержимое под ним скользило вверх / вниз, когда содержимое выше изменяется при нажатии?

Любая помощь будет оценена. Заранее спасибо!

JSFiddle

$(".tab-content .group").hide(); // Initially hide all content
$(".tabs li:first").attr("id","current"); // Activate first tab
$(".tab-content .group:first").fadeIn(); // Show first tab content
$('.tabs li a').click(function(e) {
   e.preventDefault();
   if ($(this).attr("id") == "current"){ //detection for current tab
     return       
   } else{             
     $(".tab-content .group").hide(); //Hide all content
     $(".tabs li").attr("id",""); //Reset id's
     $(this).parent().attr("id","current"); // Activate this
     $($(this).attr('href')).fadeIn(); // Show content for current tab
   }
});
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
0
385
1

Ответы 1

Я считаю, что на этот вопрос уже был дан ответ. Идея состоит в том, что вы смотрите на текущую высоту и высоту, если бы она была установлена ​​на авто, а затем анимируете разницу. Смотрите здесь: http://jsfiddle.net/zbB3Q/

$('button').on('click', function(){
    setContainerHeight();
});


function setContainerHeight() {
    var heightnow=$(".pagecontainer").height();
    var heightfull=$(".pagecontainer").css({height:'auto'}).height();

    $(".pagecontainer").css({height:heightnow}).animate({
        height: heightfull
    }, 500);
}

Как мне применить это к моей текущей настройке? Создать отдельную функцию, которая анимирует высоту и вызывает эту функцию в другой части моего исходного события щелчка?

user2498890 16.12.2018 17:41

Другие вопросы по теме