placeholder.js是一款轻量级的可在浏览器端生成占位图片的javascript库插件。该图片占位插件大小小于1kb,不依赖于任何js框架,并提供完善的配置参数和简单的方法。它的特点还有:

  • 不依赖任何框架javascript框架,例如jQuery
  • 小于1k,具体是0.98k,增加img配置方式之后,为1.52kb。
  • 配置参数项多,都有默认值。
  • 使用简单。

placeholder图片占位插件效果预览

使用方法

使用该图片占位插件需要引入placeholder.js文件。

<script src="js/placeholder.js"></script>                
              

1、可以调用placeholder.js的方法对图片进行替换,例如下面的例子:

<img src="image_origin.png" onerror="this.src=placeholder.getData({text: 'Image 404'})">              
              

2、可以使用URL参数的方式配置Img的属性options,例如:

<img class="placeholder" />              
              

或者带参数options:

<img options="size=256x128&text=Hello!" class="placeholder" />             
              

请注意img标签的class属性必须是placeholder

配置参数

Placeholder配置项用于API方法的输入参数, 例如:placeholder.getData({text: 'Image 404'})。 或者作为URL参数样式作为img的属性配置,例如:options="size=256x128&text=Hello!"

  • size: placeholder图片尺寸。例如: 256x128, 默认: 128x128。
  • bgcolor:背景颜色. 例如: #969696。默认: random。
  • color:前景颜色,文字颜色. 例如: #ccc。默认: random。
  • text:自定义文本内容。 例如: Hello World, 你好 默认:equal to size
  • fstyle:字体样式。可以是normal / italic / oblique。 默认:oblique
  • fweight:字体weight。可以是normal / bold / bolder / lighter / Number。默认:bold
  • fsize:字体大小。默认: 自动计算字体大小防止文字超出图片大小。
  • ffamily:字体。默认:consolas

参数配置的例子如下:

var opts = {
    size: '512x256',
    bgcolor: '#ccc', 
    color: '#969696',
    text: 'Hello World, 你好',
    fstyle:'oblique',
    fweight: 'bold',
    fsize:'40',
    ffamily: 'consolas'
}
//get the base64 of the placeholder image. 
console.log(placeholder.getData(opts))                
              

或者作为img的options属性:

size=256x128&text=Hello!&bgcolor=#ccc&color=#969696&fstyle=oblique&fweight=bold&fsize=40&ffamily=consolas
              

方法

  • placeholder.getData(opts):获得placeholder图片的base64字符串,可以直接在img标签的src属性中使用,或者在css的背景中使用。
  • placeholder.getCanvas(opts):获得canvas元素, 可以直接插入到DOM结构中。

image placeholder插件的github地址为:https://github.com/hustcc/placeholder.js