javascript填充默认头像方法


Posted in Javascript onFebruary 22, 2018

在我的不少项目中,都有缺省头像的问题。为了保持个性和方便辨认,会给没有头像的用户填充带名字的头像。

代码分享:https://github.com/joaner/namedavatar

javascript填充默认头像方法

调用简单

如果上传头像不存在,直接会在 <img> 标签上填充默认头像,用户名从alt获取:

<img alt="李连杰" width="32" style="border-radius: 100%">
<img src="./invalid.jpg" alt="Tom Hanks" width="40">

<script>
requirejs('namedavatar', function(namedavatar){
 namedavatar.config({
  nameType: 'lastName',
 })

 namedavatar.setImgs(document.querySelectorAll('img[alt]'), 'alt')
})
</script>

如果<img src="./invalid.jpg">资源无效,namedavatar.setImgs()就会填充alt里的用户名,src变成这样

<img id="avatar1" src="data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="32" height="32"><rect fill="#9C27B0" x="0" y="0" width="100%" height="100%"></rect><text fill="#FFF" x="50%" y="50%" text-anchor="middle" alignment-baseline="central" font-size="16" font-family="Verdana, Geneva, sans-serif">Hanks</text></svg>">

相比其它类似项目

  1. 首先对中文姓名的支持更好
  2. 直接在<img>标签上填充data URI,绿色无添加,应用成本更低
  3. 基于<svg>,没有用<canvas>渲染,性能也会好一点
  4. 支持的配置项更多,比如可以定义显示哪部分,或是随机背景颜色

也支持Vue.js的 directive 指令方式

import { directive } from 'namedavatar/vue'
// register as directive
Vue.directive('avatar', directive);
// in vue template
<template>
<img v-avatar="'Tom Hanks'" width="36"/>
</template>

以上就是本次整理的全部内容,感谢大家对三水点靠木的支持。

Javascript 相关文章推荐
js滚动条多种样式,推荐
Feb 05 Javascript
jquery 插件学习(四)
Aug 06 Javascript
jquery的冒泡事件的阻止与允许(三种实现方法)
Feb 01 Javascript
JavaScript类属性的访问方式详解
Feb 11 Javascript
浅谈JavaScript数据类型及转换
Feb 28 Javascript
jQuery制作网页版选项卡
Jul 28 Javascript
jQuery将表单序列化成一个Object对象的实例
Nov 29 Javascript
prototype.js简单实现ajax功能示例
Oct 18 Javascript
JS+CSS实现网页加载中的动画效果
Oct 27 Javascript
通过jquery toggleClass()属性制作文章段落更改背景颜色
May 21 jQuery
jQuery实现侧边栏隐藏与显示的方法详解
Dec 22 jQuery
vue+spring boot实现校验码功能
May 27 Vue.js
一次记住JavaScript的6个正则表达式方法
Feb 22 #Javascript
利用CDN加速react webpack打包后的文件详解
Feb 22 #Javascript
node内置调试方法总结
Feb 22 #Javascript
详解vue移动端日期选择组件
Feb 22 #Javascript
webpack 单独打包指定JS文件的方法
Feb 22 #Javascript
webpack中使用iconfont字体图标的方法
Feb 22 #Javascript
微信小程序之圆形进度条实现思路
Feb 22 #Javascript
You might like
将word转化为swf 如同百度文库般阅读实现思路及代码
2013/08/09 PHP
几个实用的PHP内置函数使用指南
2014/11/27 PHP
使用Appcan客户端自动更新PHP版本号(全)
2015/07/31 PHP
详解PHP的Laravel框架中Eloquent对象关系映射使用
2016/02/26 PHP
php生成毫秒时间戳的实例讲解
2017/09/22 PHP
PHP7 字符串处理机制修改
2021/03/09 PHP
数组方法解决JS字符串连接性能问题有争议
2011/01/12 Javascript
window.print打印指定div实例代码
2013/12/13 Javascript
javascript实现随时变化着的背景颜色
2015/04/02 Javascript
jquery图片滚动放大代码分享(2)
2015/08/28 Javascript
jQuery EasyUi实战教程之布局篇
2016/01/26 Javascript
Bootstrap打造一个左侧折叠菜单的系统模板(一)
2016/05/17 Javascript
Vue的事件响应式进度条组件实例详解
2018/02/04 Javascript
使用node打造自己的命令行工具方法教程
2018/03/26 Javascript
基于JS实现html中placeholder属性提示文字效果示例
2018/04/19 Javascript
boostrap模态框二次弹出清空原有内容的方法
2018/08/10 Javascript
echarts统计x轴区间的数值实例代码详解
2019/07/07 Javascript
javascript设计模式 ? 代理模式原理与用法实例分析
2020/04/16 Javascript
vue 子组件修改data或调用操作
2020/08/07 Javascript
[28:48]《真视界》- 2017年国际邀请赛
2017/09/27 DOTA
详解python--模拟轮盘抽奖游戏
2019/04/12 Python
Python的logging模块基本用法
2020/12/24 Python
HTML5实现无刷新修改URL的方法
2019/11/14 HTML / CSS
LivingSocial英国:英国本地优惠
2019/02/22 全球购物
Nobody Denim官网:购买高级女士牛仔裤
2021/03/15 全球购物
销售代表求职自荐信
2013/10/01 职场文书
大学生个人简历自我评价
2013/11/16 职场文书
2014的自我评价
2014/01/13 职场文书
自主招生自荐信指南
2014/02/04 职场文书
大型会议策划方案
2014/05/17 职场文书
新法人代表任命书
2014/06/06 职场文书
党员公开承诺书2015
2015/01/21 职场文书
宿舍卫生管理制度
2015/08/05 职场文书
2015年终个人政治思想工作总结
2015/11/24 职场文书
2016年“我们的节日·重阳节”主题活动总结
2016/04/01 职场文书
基于JavaScript实现省市联动效果
2021/06/22 Javascript