JSFiddle - React, Tailwind, and code Playground

by Praveen Kumar Purushothaman

HTML

<script src="https://code.jquery.com/jquery-2.2.4.js"></script>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/font-awesome/4.7.0/css/font-awesome.min.css" />
<div class="button">
  <span class="prev"><i class="fa fa-chevron-up"></i></span>
</div>
<div id="scrollPane">
  <div class="wrap">
    <p>Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore illo nihil esse quibusdam rerum assumenda, numquam nostrum velit consequuntur asperiores qui ex eum beatae ut id cumque ipsum voluptate, fuga.</p>
    <p>Sapiente ea et fuga exercitationem laudantium natus rem, similique possimus mollitia soluta sunt aliquam maiores labore tenetur, animi debitis non rerum illo dolorum nostrum reprehenderit voluptate. Adipisci dolores repellendus placeat.</p>
    <p>Modi quisquam facere in aperiam, quae provident et sequi fugiat molestiae tempore, doloribus deleniti dolores enim. Non asperiores, laboriosam, laborum molestiae dicta corporis repellendus ad, deleniti nostrum pariatur id nesciunt!</p>
    <p>Rerum, perferendis consequatur quasi et, ipsum amet sed commodi distinctio. Dicta itaque quam saepe quod illo aperiam, soluta, quis ipsa, eum aspernatur tempora quasi, repellendus est quo. Tempore, ullam, mollitia.</p>
    <p>Fugit tempora at ad sunt quae quo veniam est, quisquam, et autem quia. Aliquam adipisci laboriosam cum ipsam dicta vel voluptates fuga beatae nobis amet. Atque laboriosam doloremque doloribus ipsa?</p>
    <p>Suscipit odio, sequi assumenda, dignissimos tempore, illo aliquam omnis excepturi laborum consequatur rerum vel non corporis doloremque sunt sint saepe quidem modi voluptatem nihil ut. Ducimus quos nihil eligendi hic?</p>
    <p>Quasi quas rem omnis rerum, non, optio voluptate, esse libero neque accusantium quo magni cum error, nesciunt amet doloribus odio! Incidunt saepe, voluptas magnam ipsam impedit assumenda iusto beatae aliquid!</p>
    <p>Iste quisquam sunt error hic voluptas autem saepe commodi porro pariatur. Inventore...

CSS

* {
  margin: 0; padding: 0; list-style: none;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  line-height: 1;
}
body {
  margin: 15px;
}
#scrollPane {
  padding: 10px;
  max-height: 250px;
  overflow: hidden;
  background-color: #fff;
}
#scrollPane p {
  margin: 0 0 10px;
  text-align: justify;
}
.buttons, .button {
  overflow: hidden;
}
.buttons span {
  float: left;
  width: 50%;
  background-color: #ccc;
  border: 1px solid #999;
  cursor: pointer;
  text-align: center;
  font-size: 0.75em;
  padding: 0 0 1px;
}
.button span {
  display: block;
  background-color: #ccc;
  border: 1px solid #999;
  cursor: pointer;
  text-align: center;
  font-size: 0.75em;
  padding: 0 0 1px;
}

JavaScript

$(function () {
  $(".prev").mouseover(function () {
    $("#scrollPane").animate({
      "scrollTop": 0
    }, $("#scrollPane .wrap").outerHeight() - $("#scrollPane .wrap").scrollTop());
  }).mouseout(function () {
    $("#scrollPane").stop();
  });
  $(".next").mouseover(function () {
    $("#scrollPane").animate({
      "scrollTop": $("#scrollPane .wrap").height()
    }, $("#scrollPane .wrap").height() * 2);
  }).mouseout(function () {
    $("#scrollPane").stop();
  });
});