JSFiddle - React, Tailwind, and code Playground

HTML

<div class="main-container">
    <div class="wrapper">
        <div class="content">
            <div class="button">
                <button>Показать плавно текст</button>
            </div>
            <div class="text">
                <h3>Хорошая статья</h3>
                <p>Иероглифы, обозначающие месяцы.</p>
                <p>Дешифровка письменности майя стала возможной в XIX веке под влиянием успешной расшифровки древнеегипетской письменности, предпринятой Ж. Шампольоном. Впервые иероглифические тексты майя были опубликованы в 1810-е годы, а комплексное полевое исследование памятников этой цивилизации на территории Мексики и Гватемалы стало осуществляться начиная с 1830-х годов. В 1862 году аббат Брассёр де Бурбур обнаружил в Мадриде рукопись Диего де Ланда «Сообщение о делах в Юкатане», в которой содержались важные сведения о письме майя. В 1870—1890-х годах были опубликованы сохранившиеся кодексы майя.</p>
                <p>В этот же период делались попытки фонетического прочтения письменных знаков майя, но они были неудачными. В конце 1940-х годов комплексным изучением письма майя на основе труда де Ланда занялся Юрий Кнорозов, который на материале кодексов смог успешно решить задачу чтения. В 1963 году он опубликовал свою книгу — «Письменность индейцев майя», и в 1975 году опубликовал перевод сохранившихся кодексов майя.</p>
            </div>
        </div>
    </div>
</div>
<script src="http://code.jquery.com/jquery-latest.min.js"></script>

CSS

* {
	-o-box-sizing: border-box;
	-moz-box-sizing: border-box;
	box-sizing: border-box;
}

.main-container {
	width: 600px;
	height: 400px;
	outline: 1px solid #CCC;
	position: absolute;
	top: 50%;
	left: 50%;
	margin-top: -200px;
	margin-left: -300px;
}

.wrapper {
	overflow-x: hidden;
}

.content {
	height: 400px;
	padding: 5px;
	overflow: auto;
}

.button {
	text-align: center;
}

.button button {
	padding: 5px 15px;
	cursor: pointer;
}

.text {
	display: none;
}

JavaScript

$(document).ready(function() {
	var inAnimationTextBlock = false;
	$('button').click(function() {
		if($(this).text() == 'Показать плавно текст' && !inAnimationTextBlock) {
			$(this).text('Скрыть плавно текст');
			inAnimationTextBlock = true;
			var timer = setInterval(function() {
				hideScroll($('.content'));
			}, 20);
			$('.text').slideDown(500, function() {
				inAnimationTextBlock = false;
				clearInterval(timer);
			});
		}
		else if($(this).text() == 'Скрыть плавно текст' && !inAnimationTextBlock) {
			$(this).text('Показать плавно текст');
			inAnimationTextBlock = true;
			var timer = setInterval(function() {
				hideScroll($('.content'));
			}, 20);
			$('.text').slideUp(500, function() {
				inAnimationTextBlock = false;
				clearInterval(timer);
			});
		}
	});

	function hideScroll(element) {
		var jsObject = element.get(0);
		var scrollWidth = jsObject.offsetWidth - jsObject.clientWidth;
		if(scrollWidth) {
			element.width(element.parent().width() + scrollWidth)
		}
		else {
			element.css('width', 'auto');
		}
	}
});