JSFiddle - React, Tailwind, and code Playground

HTML

<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis libero lectus, rutrum sagittis egestas et, ultricies eu tellus. Nam eleifend, ligula vel dignissim adipiscing, quam elit tincidunt felis, ac venenatis tortor massa vel enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla condimentum augue sed nulla semper nec luctus enim vestibulum. Proin nec imperdiet nunc. Curabitur condimentum, nibh vel aliquet congue, augue felis sollicitudin arcu, in rhoncus nisi ipsum sed turpis. Morbi semper euismod sagittis. Vivamus vitae libero lorem, at imperdiet nisl. Quisque varius turpis eget nulla consectetur placerat. Vestibulum tortor nulla, luctus molestie consequat et, hendrerit a lorem. Ut ac nunc purus, vitae sodales neque.</p>
		<div class="container">
			<div class="content">
				<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Duis libero lectus, rutrum sagittis egestas et, ultricies eu tellus. Nam eleifend, ligula vel dignissim adipiscing, quam elit tincidunt felis, ac venenatis tortor massa vel enim. Lorem ipsum dolor sit amet, consectetur adipiscing elit. Nulla condimentum augue sed nulla semper nec luctus enim vestibulum. Proin nec imperdiet nunc. Curabitur condimentum, nibh vel aliquet congue, augue felis sollicitudin arcu, in rhoncus nisi ipsum sed turpis. Morbi semper euismod sagittis. Vivamus vitae libero lorem, at imperdiet nisl. Quisque varius turpis eget nulla consectetur placerat. Vestibulum tortor nulla, luctus molestie consequat et, hendrerit a lorem. Ut ac nunc purus, vitae sodales neque.</p>
				<p>Nunc id mauris in lacus pellentesque convallis sit amet in enim. Phasellus aliquam, mi in congue volutpat, nulla mi rutrum nisl, ut gravida risus mauris ac purus. Vivamus malesuada vestibulum augue et dapibus. Donec commodo orci eget dolor lobortis cursus. Maecenas sit amet malesuada odio. Sed posuere nisl pretium justo porttitor sed rutrum dui eleifend. Suspendisse a lacus ac massa fermentum mattis. Aenean ut mollis felis....

CSS

/* These are not needed */
			body {width:700px;margin:0 auto;}
			.container {overflow:hidden;position:relative;}
			.sidebar {float:left;width:200px;padding:0 20px;}
			.content {float:left;width:400px;padding:0 20px;border-right:1px solid black;}

JavaScript

$(function funcName(){
				$('.sidebar').sticky('.container'); // Initialize the sticky scrolling on an item
			});



(function($, window, undefined) {

    "use strict";

    /**
     * Sticky Element constructor
     * @param elm
     * @param par
     * @param options
     * @constructor
     */
    var Sticky = function(elm, par, options) {
        this.element = elm;
        this.parent = par;
        this._frozen = false;
        this.options = $.extend({
            animate: false,
            useFixed: true,
            animTime: 300
        }, options);
        this.init();
    };

    Sticky.prototype.init = function() {
        this.element.addClass("sticky-scroll");
        this.update();
    };

    Sticky.prototype.update = function() {
        //This will handle any resizing of the container the sticky scroll is in and update the boundaries if necessary
        this.setBoundaries();
        this.moveIt();
    };

    Sticky.prototype.moveIt = function() {
        // This will decide whether to move the stickied item
        var scrollTop = $(window).scrollTop();
        var height = this.element.outerHeight(true);
        var realStop = this._stop - height;

        if (this._parentHeight - this._offset > height && !this._frozen) {
            if (scrollTop >= this._start && scrollTop <= realStop) {
                if(this.options.useFixed){
                    this.element.css({'position':'fixed','top':0,'left':this.element.offset().left});
                } else {
                    this.updateOffset(scrollTop - this._start);
                }
            } else {
                this.element.css({'position':'relative','left':0});
                if (scrollTop < this._start) {
                    this.updateOffset(0);
                } else if (scrollTop > realStop) {
                    this.updateOffset(this._parentHeight - height - this._offset);
                }
            }
        }
    };

    Sticky.prototype.setBoundaries =...