Vue.js is a simple and lightweight component that scrolls up smoothly when clicked. It can also be used to update the data to load the latest content using the scrolledOnTop event.
Inspired by Instagram, Linkedin, Reddit, etc., scroll to the refresh button.
Must Read: Back to Top Button Using Vanilla Javascript | back2top.js
How to make use of it:
Install and download:
npm i vue-simple-scroll-up --save
1. Import for global use.
import Vue from 'vue' import scrollUp from 'vue-simple-scroll-up' Vue.use(scrollUp) ...
2. or on a single component.
import scrollUp from 'vue-simple-scroll-up' ... }, components: { 'vue-scroll-to-top': scrollUp } ...
3. Add this to your files:
<vue-scroll-to-top text="Back to top" :visibleY="1200" :duration="1000"></vue-scroll-to-top>
4. To run the scrolledOnTop event:
<vue-scroll-to-top text="Back to top" @scrolledOnTop="yourReloadFunction()"></vue-scroll-to-top>
5. Replace CSS property to change button style:
.vue-scroll-button{ background-color: #4CAF50; /* button background color */ color: white; /* button text color */ } .vue-scroll-button:hover{ box-shadow: 0 12px 14px -6px #4CAF50; /* button shadow */ }
Props
Must Read: A Smooth Scrolling Back To Top Button on Native JavaScript | up-button
Property | Type | Default Value | Description |
---|---|---|---|
text | String | ‘Back to top’ | Button description. |
visibleY | Number | 400 | Show button when scrollY equals visibleY value. |
duration | Number | 800 | Scrolling animation duration. |
Events
Must Read: [TypeWatch] jQuery Plugin to Determine When a User Stops Typing in a Text Field
Name | Description |
---|---|
scrolledOnTop | Triggered when scrolling finished (can be used to refresh content) |
See Also –
Fixed Table Header To The Top Of Page On Scroll in Pure Javascript
Hide On Scroll Fixed Top Navigation In Pure JavaScript (no jQuery)
JavaScript Library To Create Sticky Header & Footer On Scroll | titleBarJs
See Demo And Download
Official Website(asdf1899): Click Here
This superior jQuery/javascript plugin is developed by asdf1899. For extra advanced usage, please go to the official website.