Vue.jsでスクロールしてもついてくるスティッキー要素を設定する「vue-sticky」

vue-stickyとは

vue-stickyは、画面をスクロールした際に、指定した箇所に要素が固定されてついてくるdirectiveライブラリです。

 

【動画サイズ:10KB】

 

環境

この記事は、以下の管理人の検証環境にて記事にしています。

vue.js 2.6.10
vue-sticky 3.3.4

 

ライブラリの取得

ライブラリを取得するには、npm, CDNのどれか一つを使用します。

npm

npm install vue-sticky --save

CDN

<script src="https://cdn.jsdelivr.net/npm/[email protected]/dist/vue-sticky.js"></script>

gitリポジトリは以下から取得できます。

 

導入手順

管理人が行った、動作確認サンプルを実装するために、以下の手順でソースコードを導入していきます。
このサンプルでは、画面をスクロールした際に、指定した箇所に要素が固定されてついてくる要素を実装します。

 

step
1
ライブラリの呼び出し

まずライブラリを呼び出す為に、以下の2通りのケースで呼び出します。

ES6等で実装する場合

import VueSticky from 'vue-sticky'

UMDで実装する場合

const VueSticky = window['VueSticky'].default;

 

step
2
メソッドを設定

directivesに上記で取得したVueStickyを設定します。

new Vue({
  el: '#app',
  directives: {
    'sticky': VueSticky
  }
});

 

step
3
テンプレートを準備

スティッキーしたい要素にv-stickyプロパティを設定します。

サンプルはケバブケースで記載しています。

<div id="app">
  <nav v-sticky="{ zIndex: 1, stickyTop: 45, disabled: false}">
    <div>Navi Bar</div>
  </nav>
  <div style="height: 2000px;" v-for="n in 5"></div>
</div>

 

サンプル

今回のソースを実際に触って確認できるようにデモを用意しました。

See the Pen Vue.jsでスクロールしてもついてくるスティッキー要素を設定する「vue-sticky」 by カバの樹 (@kabanoki) on CodePen.dark

 

さいごに

画面をスクロールした際に、指定した箇所に要素が固定されてついてくるdirectiveライブラリでした。

今日はこの辺でー

 

  • この記事を書いた人

カバノキ

印刷会社のWEB部隊に所属してます。 WEB制作に携わってから、もう時期10年になります。 普段の業務では、PHPをメインにサーバーサイドの言語を扱っています。 最近のお気に入りはJavascriptです。 Vue.jsを狂喜乱舞しながら、社内に布教中です。

-Sticky, Utilities, vue.js, ライブラリ
-, , , ,