basicLightbox

The lightest lightbox ever made.

Github星跟踪图

basicLightbox

Dependencies Donate via PayPal

The lightest lightbox ever made.

Contents

  • Works in all modern browsers and IE11 (with polyfills)
  • Supports images, videos, iframes and any kind of HTML
  • Creates a lightbox from a string or from a DOM element/node
  • Zero dependencies
  • CommonJS and AMD support
  • Simple JS API

Requirements

basicLightbox depends on the following browser features and APIs:

Some of these APIs are capable of being polyfilled in older browsers. Check the linked resources above to determine if you must polyfill to achieve your desired level of browser support.

Setup

We recommend installing basicLightbox using npm or yarn.

npm install basiclightbox
yarn add basiclightbox

Include the CSS file in the head tag and the JS file at the end of your body tag…

<link rel="stylesheet" href="dist/basicLightbox.min.css">
<script src="dist/basicLightbox.min.js"></script>

…or skip the JS file and use basicLightbox as a module:

const basicLightbox = require('basiclightbox')
import * as basicLightbox from 'basiclightbox'

API

.create(content, opts)

Creates a new basicLightbox instance.

Be sure to assign your instance to a variable. Using your instance, you can…

  • …show and hide the lightbox.
  • …check if the the lightbox is visible.
  • …modify the content of the lightbox.

Examples:

const instance = basicLightbox.create(`
	<h1>Dynamic Content</h1>
	<p>You can set the content of the lightbox with JS.</p>
`)
const instance = basicLightbox.create(`
	<h1>Not closable</h1>
	<p>It's not possible to close this lightbox with a click.</p>
`, {
	closable: false
})
const instance = basicLightbox.create(
	document.querySelector('#template')
)

Parameters:

  • content {Node, String} Content of the lightbox.
  • opts {?Object} An object of options.

Returns:

  • {Object} The created instance.

.visible()

Returns true when a lightbox is visible. Also returns true when a lightbox is currently in the process of showing/hiding and not fully visible/hidden, yet.

Example:

const visible = basicLightbox.visible()

Returns:

  • {Boolean} Visibility of any lightbox.

Instance API

Each basicLightbox instance has a handful of handy functions. Below are all of them along with a short description.

.show(cb)

Shows a lightbox instance.

Examples:

instance.show()
instance.show(() => console.log('lightbox now visible'))

Parameters:

  • cb(instance) {?Function} A function that gets executed as soon as the lightbox starts to fade in.

.close(cb)

Closes a lightbox instance.

Examples:

instance.close()
instance.close(() => console.log('lightbox not visible anymore'))

Parameters:

  • cb(instance) {?Function} A function that gets executed as soon as the lightbox has been faded out.

.visible()

Returns true when the lightbox instance is visible. Also returns true when the lightbox is currently in the process of showing/hiding and not fully visible/hidden, yet.

Example:

const visible = instance.visible()

Returns:

  • {Boolean} Visibility of lightbox.

.element()

Returns the DOM element/node associated with the instance.

Example:

const elem = instance.element()

Returns:

  • {Node} DOM element/node associated with the instance.

Options

The option object can include the following properties:

{
	/*
	 * Prevents the lightbox from closing when clicking its background.
	 */
	closable: true,
	/*
	 * One or more space separated classes to be added to the basicLightbox element.
	 */
	className: '',
	/*
	 * Function that gets executed before the lightbox will be shown.
	 * Returning false will prevent the lightbox from showing.
	 */
	onShow: (instance) => {},
	/*
	 * Function that gets executed before the lightbox closes.
	 * Returning false will prevent the lightbox from closing.
	 */
	onClose: (instance) => {}
}

Import src/styles/main.scss directly to customize the look of basicLightbox:

$basicLightbox__background: rgba(0, 0, 0, .8); // Background color
$basicLightbox__zIndex: 1000; // Stack order
$basicLightbox__duration: .4s; // Transition duration
$basicLightbox__timing: ease; // Transition timing

@import 'src/styles/main';

主要指标

概览
名称与所有者electerious/basicLightbox
主编程语言JavaScript
编程语言JavaScript (语言数: 2)
平台
许可证MIT License
所有者活动
创建于2016-02-24 09:05:02
推送于2022-10-01 13:59:21
最后一次提交2022-10-01 15:58:41
发布数30
最新版本名称v5.0.4 (发布于 2021-01-17 17:46:19)
第一版名称v0.0.1 (发布于 )
用户参与
星数588
关注者数11
派生数55
提交数202
已启用问题?
问题数35
打开的问题数5
拉请求数6
打开的拉请求数2
关闭的拉请求数3
项目设置
已启用Wiki?
已存档?
是复刻?
已锁定?
是镜像?
是私有?