Skip to content

the-muda-organization/vimeo-lazyload

Repository files navigation

Vimeo LazyLoad

LazyLoad Embed Vimeo Player - simple and lightweight plugin - pure JavaScript


Status

GitHub Version License

Github Star Github Fork

CSS gzip size JS gzip size




Table of contents


Quick Start

Several options are available:

  • Download the latest release.
  • Clone the repo: git clone https://github.com/the-muda-organization/vimeo-lazyload.git
  • Install with Composer: composer require the-muda-organization/vimeo-lazyload

What's included

Within the download you'll find the following directories and files, logically grouping common assets and providing both compiled and minified variations. You'll see something like this:

There are no dependencies. No jQuery or other plugins required. See below for Installation Guide and How to Use

vi-lazyload/
 │
 └─ dist/
    │
    ├── css/
    │   ├── vi-lazyload.css
    │   └── vi-lazyload.min.css
    │
    └── js/
        ├── vi-lazyload.js
        └── vi-lazyload.min.js

Bugs and feature requests

Have a bug or a feature request? Before opening a new issue search for existing and closed issues. If your problem or idea is not addressed yet, open a new issue.


Installation

  1. Download and copy files to your project
  2. Open vi-lazyload.js
  3. Change settings:
    • settings_thumb_base_url to custom URL where your thumbnails are located.
  4. Minify JavaScript and place it in vi-lazyload.min.js.
  5. Add CSS and JavaScript to your project:
    <link href="https://example.com/vi-lazyload/2.x.x/css/vi-lazyload.min.css" rel="stylesheet">
    <script src="https://example.com/vi-lazyload/2.x.x/js/vi-lazyload.min.js"></script>

NOTE: Because of small file sizes I recommend adding CSS & JS inline!

    <style>...</style>
    <script>...</script>

How to Use

  1. Get Vimeo ID of your movie, example: 272532681
  2. Add the folowing code to embed a video:
<div class="vi-lazyload" data-id="272532681" data-thumb="" data-logo="3"></div>
  1. Name your thumbnail using Vimeo ID 272532681.jpg - to use other file types change settings in JavaScript
  2. Place your thumbnail in a folder set in JavaScript

Features

Attribute Explanation
class="vi-lazyload" Main container.

You can add additional style like border, box-shadow etc. or Bootstrap classes like img-thumbnail, shadow etc.
data-id="272532681" Vimeo video ID
data-thumb="" If you need to add more thumbnails you can choose which one is displayed. It is usefull for quality specific thumbs (SD, 720p, 1080p) or in case of multiple thumbs random one can be selected.

Name your files 272532681.jpg and add custom suffix.

For 3 thumbnails make 272532681--1.jpg, 272532681--2.jpg and 272532681--3.jpg.

To show thumbnail 2 use data-thumb="--2" and so on.

You can randomize numbers using <?php echo mt_rand(1,3);?>.

Leave empty if you have only 1 thumbnail.
data-logo="3" Vimeo logo color. You can customize it in CSS.

0 = none - logo will not be added by JavaScript,
1 = blue,
2 = dark,
3 = white.

CSS Classes

CSS class Explanation
.vi-lazyload main container
.vi-lazyload::before pseudo-element used to maintain container ratio and set background-color
.vi-lazyload-wrap container and its content added via javascript
.vi-lazyload-content container for play button, logo and thumbnail as background-image
.vi-lazyload-playbtn play button (black)
.vi-lazyload-playbtn:hover play button on hover (blue)
.vi-lazyload-logo Vimeo logo
.vi-lazyload-logo:hover Vimeo logo on hover
.vi-lazyload[data-logo="X"] .vi-lazyload-logo Vimeo logo color based on data attribute
.vi-lazyload iframe Vimeo embeded iframe after click

FAQ

  • Can I use Vimeo domain to get thumbnails?
    • Not as easy as on Youtube. Vimeo doesn't use video id for its thumbnails. You need to use Vimeo API to get URL of thumbnail.
  • Can I use Vimeo lazyload with other frameworks like Bootstrap?
    • Yes you can! There should be no conflict with other frameworks.
  • Can I embed video players other than Vimeo?

Versioning

Vimeo LazyLoad will be maintained under the Semantic Versioning guidelines as much as possible. Releases will be numbered with the following format: <major>.<minor>.<patch>


Changelog

For last releases see detailed CHANGELOG.


Team


Code of conduct

We will behave ourselves if you behave yourselves. For more details see our CODE_OF_CONDUCT.md.


Copyright and license

Code and documentation copyright 2017-2020 The MUDA Organization.

Code released under the MIT License.