1.1.0 β€’ Published 2 years ago

@likun./lazy-img v1.1.0

Weekly downloads
-
License
ISC
Repository
github
Last release
2 years ago

Introduction

lazy-img

  • a custom element of lazy-load-image based on web-components.
  • it can be used in both vue & react projects.
  • it can also be used in native html.

Installing πŸ› 

CDN

  • you can get lazy-img through CDN.
  • you can add @+version after /lazy-img if you need to load the specified version.
<script src="https://unpkg.com/@likun./lazy-img/dist/index.js"></script>

npm

npm install @likun./lazy-img

yarn

yarn add @likun./lazy-img

Usage

Use in HTML

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <meta http-equiv="X-UA-Compatible" content="IE=edge">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>lazy-img</title>
  <script src="https://unpkg.com/@likun./lazy-img/dist/index.js"></script>
</head>
<body>
  <lazy-img src="image.png" width="500" height="300" alt="lazy image" />
</body>
</html>

Use in Vue and React

Importing package

import '@likun./lazy-img'

Use in Vue

<lazy-img
  :src="imgSrc"
  width="50%"
  height="200px"
  @lazyload="handleLoad"
  @lazyerror="handleError"
/>

Use in React

  • learn more: Using Web Components in React and πŸ‡¨πŸ‡³δΈ­ζ–‡.
  • className will be resolved to classname, but you can use class directly.
  • events triggered by web components may not be delivered correctly through the react rendering tree, you need to manually add event handlers in the react component to handle these events, the following example:
import { useState, useRef, useEffect } from 'react'
import styles from './LazyDemo.module.less'

function LazyDemo() {
  const lazyRef = useRef()
  const [imgSrc] = useState('image.png')

  useEffect(() => {
    const handleLoad = () => {}
    const handleError = (e) => {
      // e.target.setAttribute('src', 'image1.png')
    }
    lazyRef.current.addEventListener('lazyload', handleLoad)
    lazyRef.current.addEventListener('lazyerror', handleError)

    return () => {
      lazyRef.current.removeEventListener('lazyload', handleLoad)
      lazyRef.current.removeEventListener('lazyerror', handleError)
    }
  }, [])

  return (
    <lazy-img
      ref={lazyRef}
      src={imgSrc}
      width="300px"
      height="200px"
      // class can be used here
      class={styles.lazyImage}
    />
  )
}

export default LazyDemo

Attributes

ParameterExplanationTypeDefalut value
srcurl of imagestring
presrcurl of space occupying image when lazystring
widthwidth of imagenumber | string | percentage300px
heightheight of imagenumber | string | percentage200px
altalternate text description of the image when failedstring

Events

NameExplanationCallback arguments
lazyloadtriggered when image is loaded successfullyevent
lazyerrortriggered when image loading failedevent
1.1.0

2 years ago

1.0.22

2 years ago

1.0.21

2 years ago

1.0.20

2 years ago

1.0.19

2 years ago

1.0.18

2 years ago

1.0.17

2 years ago

1.0.16

2 years ago

1.0.15

2 years ago

1.0.14

2 years ago

1.0.13

2 years ago

1.0.12

2 years ago

1.0.11

2 years ago

1.0.10

2 years ago

1.0.9

2 years ago

1.0.8

2 years ago

1.0.7

2 years ago

1.0.6

2 years ago

1.0.5

2 years ago

1.0.4

2 years ago

1.0.3

2 years ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago