All Projects → WeCodePixels → Theia Sticky Sidebar

WeCodePixels / Theia Sticky Sidebar

Licence: mit
Glues your website's sidebars, making them permanently visible while scrolling.

Programming Languages

javascript
184084 projects - #8 most used programming language

Projects that are alternatives of or similar to Theia Sticky Sidebar

Sweet Scroll
🍭 ECMAScript2015+ & TypeScript Friendly, dependency-free smooth scroll library.
Stars: ✭ 380 (-22.29%)
Mutual labels:  scrolling
Ng Sidebar
[Inactive] Angular sidebar component.
Stars: ✭ 396 (-19.02%)
Mutual labels:  sidebar
React Native Blurhash
🖼️ A library to show colorful blurry placeholders while your content loads.
Stars: ✭ 430 (-12.07%)
Mutual labels:  ux
Bootcamp
Bootcamp @Laboratoria (Front end dev + UX)
Stars: ✭ 387 (-20.86%)
Mutual labels:  ux
React Scrolllock
🔒 Prevent scroll on the <body />
Stars: ✭ 393 (-19.63%)
Mutual labels:  scrolling
Pagepiling.js
pagePiling plugin by Alvaro Trigo. Create a scrolling pile of sections. http://alvarotrigo.com/pagePiling/
Stars: ✭ 3,993 (+716.56%)
Mutual labels:  scrolling
Hc Sticky
JavaScript library that makes any element on your page visible while you scroll.
Stars: ✭ 375 (-23.31%)
Mutual labels:  sidebar
Intro.js
Lightweight, user-friendly onboarding tour library
Stars: ✭ 20,826 (+4158.9%)
Mutual labels:  ux
React Gridlist
A virtual-scrolling GridList component based on CSS Grids
Stars: ✭ 394 (-19.43%)
Mutual labels:  scrolling
Continuousscrollableimageview
Library for animating images with continuous scrolling effects
Stars: ✭ 429 (-12.27%)
Mutual labels:  scrolling
Hamburger React
Animated hamburger menu icons for React (1.5 KB) 🍔
Stars: ✭ 391 (-20.04%)
Mutual labels:  sidebar
Vue Drawer Layout
A simple DrawerLayout component for Vue.js.
Stars: ✭ 392 (-19.84%)
Mutual labels:  sidebar
Ui Design
🔥 A curated list of useful resources related to User Interface Design
Stars: ✭ 423 (-13.5%)
Mutual labels:  ux
Gdlauncher
GDLauncher is a simple, yet powerful Minecraft custom launcher with a strong focus on the user experience
Stars: ✭ 386 (-21.06%)
Mutual labels:  ux
Pickerview
🔸 A customizable alternative to UIPickerView in Swift.
Stars: ✭ 438 (-10.43%)
Mutual labels:  scrolling
Chromelens
Chrome DevTools extension for web accessibility development
Stars: ✭ 379 (-22.49%)
Mutual labels:  ux
Panelkit
PanelKit is a UI framework that enables panels on iOS. A panel can be presented in the following ways:
Stars: ✭ 3,835 (+684.25%)
Mutual labels:  ux
React Burger Menu
🍔 An off-canvas sidebar component with a collection of effects and styles using CSS transitions and SVG path animations
Stars: ✭ 4,544 (+829.24%)
Mutual labels:  sidebar
Recycler Fast Scroll
Provides fast scroll and section idexer for recycler view
Stars: ✭ 445 (-9%)
Mutual labels:  scrolling
Akira
Native Linux App for UI and UX Design built in Vala and GTK
Stars: ✭ 4,597 (+840.08%)
Mutual labels:  ux

Theia Sticky Sidebar

A JavaScript library that glues your website's sidebars (or any vertical column for that matter), making them permanently visible when scrolling up and down. Useful when a sidebar is too tall or too short compared to the rest of the content. Works with virtually any design and supports multiple sidebars.

WordPress

Theia Sticky Sidebar for WordPress

Also available as a premium WordPress plugin that comes with a user-friendly admin panel and supports a plethora of themes out-of-the-box.

Examples

3 columns example

4 columns example

Bootstrap 4 example

Foundation example

Install

Bower

If you are using Bower as your package manager:

bower install theia-sticky-sidebar

NPM

If you are using NPM as your package manager:

npm install theia-sticky-sidebar

Usage

Your website's HTML structure has to be similar to this in order to work:

<div class="wrapper">
  <div class="content">
    <div class="theiaStickySidebar">
    ...
    </div>
  </div>
  <div class="sidebar">
    <div class="theiaStickySidebar">
    ...
    </div>
  </div>
</div>

Note that the inner "theiaStickySidebar" divs are optional, but highly recommended. If you don't supply them yourself, the script will create them for you, but this can be problematic if you're using ads or iframes, since they will be moved around in the DOM and as a result will get reloaded.

Note: Make sure to use <!DOCTYPE html> in your page, otherwise you might run into weird issues.

For the above example, you can use the following JavaScript:

<script type="text/javascript" src="http://code.jquery.com/jquery.min.js"></script>
<script type="text/javascript" src="dist/ResizeSensor.min.js"></script>
<script type="text/javascript" src="dist/theia-sticky-sidebar.min.js"></script>
		
<script type="text/javascript">
  jQuery(document).ready(function() {
    jQuery('.content, .sidebar').theiaStickySidebar({
      // Settings
      additionalMarginTop: 30
    });
  });
</script>

ResizeSensor

Theia Sticky Sidebar uses the CSS Element Queries library to detect when your sidebars change height, so that it can recalculate their positions. This can happen if you are using an accordion, for example.

You can choose not to include the ResizeSensor.min.js script in your page, in which case Theia Sticky Sidebar will continue to function (possibly even a bit smoother) but will not automatically detect height changes.

Settings

containerSelector

The sidebar's container element. If not specified, it defaults to the sidebar's parent.

additionalMarginTop

An additional top margin in pixels. Defaults to 0.

additionalMarginBottom

An additional bottom margin in pixels. Defaults to 0.

updateSidebarHeight

Updates the sidebar's height. Use this if the background isn't showing properly, for example. Defaults to true.

minWidth

The sidebar returns to normal if its width is below this value. Useful for responsive designs. Defaults to 0.

disableOnResponsiveLayouts

Try to detect responsive layouts automatically and disable the sticky functionality on smaller screens. More exactly, it detects when the container and the sidebar are moved one on top of the other, instead of showing up side-by-side. Defaults to true.

defaultPosition

The sidebar must have a non-static position, as the inner sticky-sidebar uses position: absolute. Defaults to relative.

namespace

Events are binded using a namespace, so that you may unbind them later on without affecting others. Defaults to TSS.

Credits

Stock photos courtesy of Unsplash.com

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].