JSFiddle - React, Tailwind, and code Playground
HTML
<link rel="stylesheet" href="http://jscrollpane.kelvinluck.com/style/jquery.jscrollpane.css">
<script src="http://jscrollpane.kelvinluck.com/script/jquery.mousewheel.js"></script>
<script src="http://jscrollpane.kelvinluck.com/script/jquery.jscrollpane.min.js"></script>
<link rel="stylesheet" href="http://ajax.googleapis.com/ajax/libs/jqueryui/1.8.9/themes/smoothness/jquery-ui.css">
<h1 id='options'><a target="new" href='http://jscrollpane.kelvinluck.com/api.html#scrollTo'> API for jScrollPane</a> <a href='#top'>Scroll to top</a> <a href='#bottom'>Scroll to bottom</a> <a href='#element'>Scroll to element</a></h1>
<div class="scroll-pane" id='top'>
<p>
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Donec in ligula id sem tristique ultrices
eget id neque. Duis enim turpis, tempus at accumsan vitae, lobortis id sapien. Pellentesque nec orci
mi, in pharetra ligula. Nulla facilisi. Nulla facilisi. Mauris convallis venenatis massa, quis
consectetur felis ornare quis. Sed aliquet nunc ac ante molestie ultricies. Nam pulvinar ultricies
bibendum. Vivamus diam leo, faucibus et vehicula eu, molestie sit amet dui. Proin nec orci et elit
semper ultrices. Cum sociis natoque penatibus et magnis dis parturient montes, nascetur ridiculus
mus. Sed quis urna mi, ac dignissim mauris. Quisque mollis ornare mauris, sed laoreet diam malesuada
quis. Proin vel elementum ante. Donec hendrerit arcu ac odio tincidunt posuere. Vestibulum nec risus
eu lacus semper viverra.
</p>
<p id='element'>
Vestibulum dictum consectetur magna eu egestas. Praesent molestie dapibus erat, sit amet sodales
lectus congue ut. Nam adipiscing, tortor ac blandit egestas, lorem ligula posuere ipsum, nec
faucibus nisl enim eu purus. Quisque bibendum diam quis nunc eleifend at molestie libero tincidunt.
Quisque tincidunt sapien a sapien pellentesque consequat. Mauris adipiscing venenatis...
CSS
h1 {
font-size:.66em;
margin-bottom:.5em;
}
p {
margin-bottom:.5em;
}
.scroll-pane {
width: 100%;
height: 200px;
overflow: auto;
}
JavaScript
(function($) {
var $options, $scrollPane, jScrollPaneAPI;
$options = $('#options');
$scrollPane = $('#top').jScrollPane();
jScrollPaneAPI = $scrollPane.data('jsp');
$options.delegate('a', 'click', function(e) {
var $target = $(this).attr('href');
if ($target === "#top") {
e.preventDefault();
jScrollPaneAPI.scrollTo(0, 0, true);
}
else if ($target === "#bottom") {
e.preventDefault();
jScrollPaneAPI.scrollToBottom(true);
}
else if ($target === "#element") {
e.preventDefault();
jScrollPaneAPI.scrollToElement($('#element'), true, true);
}
}).find('a').button();
}(jQuery));