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 相关文章推荐
利用jQuery接受和处理xml数据的代码(.net)
Mar 28 Javascript
EXTJS记事本 当CompositeField遇上RowEditor
Jul 31 Javascript
js调试系列 源码定位与调试[基础篇]
Jun 18 Javascript
JavaScript如何实现跨域请求
Aug 05 Javascript
jQuery 生成svg矢量二维码
Aug 09 Javascript
详解微信小程序审核不通过的解决方法
Jan 17 Javascript
vue项目实现记住密码到cookie功能示例(附源码)
Jan 31 Javascript
vue-cli中的babel配置文件.babelrc实例详解
Feb 22 Javascript
Koa2 之文件上传下载的示例代码
Mar 29 Javascript
Javascript实现时间倒计时功能
Nov 17 Javascript
js回溯法计算最佳旅行线路代码实例
Sep 11 Javascript
JavaScript ECMA-262-3 深入解析(一):执行上下文实例分析
Apr 25 Javascript
一次记住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
php字符串操作针对负值的判断分析
2016/07/28 PHP
Laravel框架路由设置与使用示例
2018/06/12 PHP
PHP常用字符串函数小结(推荐)
2018/08/05 PHP
Prototype 工具函数 学习
2009/07/23 Javascript
在IE 浏览器中使用 jquery的fadeIn() 效果 英文字符字体加粗
2011/06/02 Javascript
ie与ff下的event事件使用介绍
2013/11/25 Javascript
JS中dom0级事件和dom2级事件的区别介绍
2016/05/05 Javascript
Seajs是什么及sea.js 由来,特点以及优势
2016/10/13 Javascript
jQuery Datatable 多个查询条件自定义提交事件(推荐)
2017/08/24 jQuery
NodeJs通过async/await处理异步的方法
2017/10/09 NodeJs
微信小程序之事件交互操作实例分析
2018/12/03 Javascript
Easyui 关闭jquery-easui tab标签页前触发事件的解决方法
2019/04/28 jQuery
vue使用混入定义全局变量、函数、筛选器的实例代码
2019/07/29 Javascript
JavaScript实现简单随机点名器
2019/11/21 Javascript
vue中echarts的用法及与elementui-select的协同绑定操作
2020/11/17 Vue.js
Python编程中time模块的一些关键用法解析
2016/01/19 Python
Python中的字符串类型基本知识学习教程
2016/02/04 Python
Python zip()函数用法实例分析
2018/03/17 Python
python 中不同包 类 方法 之间的调用详解
2020/03/09 Python
python编写softmax函数、交叉熵函数实例
2020/06/11 Python
零基础小白多久能学会python
2020/06/22 Python
python 如何利用argparse解析命令行参数
2020/09/11 Python
django使用channels实现通信的示例
2020/10/19 Python
python中random模块详解
2021/03/01 Python
html5 CSS过度-webkit-transition使用介绍
2013/07/02 HTML / CSS
精油和天然健康美容产品:Art Naturals
2018/01/27 全球购物
优秀团支部事迹材料
2014/02/08 职场文书
迟到检讨书300字
2014/02/14 职场文书
飘柔洗发水广告词
2014/03/14 职场文书
初中国旗下的演讲稿
2014/08/28 职场文书
教师师德师风个人整改方案
2014/09/18 职场文书
房屋租赁合同补充协议
2014/10/11 职场文书
读后感作文评语
2014/12/25 职场文书
颐和园导游词
2015/01/30 职场文书
2015年工程部工作总结
2015/04/30 职场文书
小人国观后感
2015/06/11 职场文书