当前位置:首页 > 科技  > 软件

30 个有用的 JavaScript 代码片段(下)

来源: 责编: 时间:2023-10-10 18:30:14 326观看
导读今天这篇文章,接上昨天的《30 个有用的 JavaScript 代码片段(上)》,我们把剩下的18个代码片段分享在这篇文章中。现在,我们就开始这篇文章的内容吧。13. 创建一个 <img> DOM 元素// Code snippet to render <img> DOM ele

今天这篇文章,接上昨天的30 个有用的 JavaScript 代码片段(上),我们把剩下的18个代码片段分享在这篇文章中。8DO28资讯网——每日最新资讯28at.com

8DO28资讯网——每日最新资讯28at.com

现在,我们就开始这篇文章的内容吧。8DO28资讯网——每日最新资讯28at.com

13. 创建一个 <img> DOM 元素

// Code snippet to render <img> DOM element on the flyconst loadImage = (url) => new Promise((resolve, reject) => {    const img = new Image();    img.addEventListener('load', () => resolve(img));    img.addEventListener('error', (err) => reject(err));    img.src = url;});
// __USAGE Example__var uploadFileInput=document.createElement('input');uploadFileInput.type='file';uploadFileInput.id='uploadFileInput';document.body.appendChild(uploadFileInput);function readFileAsDataURL(file) {    return new Promise((resolve,reject) => {        let fileredr = new FileReader();        fileredr.onload = () => resolve(fileredr.result);        fileredr.onerror = () => reject(fileredr);        fileredr.readAsDataURL(file);    });}uploadFileInput.addEventListener('change', async (evt)=> {  var file = evt.currentTarget.files[0];    if(!file) return;    var b64str = await readFileAsDataURL(file);    var _img = await loadImage(b64str);    _img['style']['width']=`${_img.naturalWidth}px`;    _img['style']['height']=`${_img.naturalHeight}px`;    _img['style']['margin']='2px auto';    _img['style']['display']='block';    document.body.appendChild(_img);}, false);

注意:虽然大多数 HTML 元素节点的属性(例如 <div> <p>)是可访问的并且不需要“load”事件的侦听器,但 <img> 是此规则的一个例外(另一个唯一的例外是 < 脚本>)8DO28资讯网——每日最新资讯28at.com

因此,如果 document.createElement('img') 没有返回 Promise:8DO28资讯网——每日最新资讯28at.com

var loadedImg=document.createElement('img');loadedImg.src=<dataURL>; // dataURL refers to the encoded image data

变量loadedImg不会被渲染,因为在分配属性src时它仍然是未定义的。8DO28资讯网——每日最新资讯28at.com

14. 删除所有嵌套子节点

const removeAllChildNodes = ((parentEle) => parentEle.children.length > 0  ? parentEle.removeChild(parentEle.children[0]) : null);
// __USAGE Example__const _scale = window.devicePixelRatio*2;const size = 250;const fontSize=size/_scale;var canvasDisplay=document.createElement('div');canvasDisplay['style']['width']=`${size+4}px`;canvasDisplay['style']['height']=`${size+4}px`;canvasDisplay['style']['margin']='1px auto';document.body.appendChild(canvasDisplay);var iconBtn_1=document.createElement('button');iconBtn_1.type='button';iconBtn_1.value=' 
                

本文链接:http://www.28at.com/showinfo-26-12674-0.html30 个有用的 JavaScript 代码片段(下)

声明:本网页内容旨在传播知识,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。邮件:2376512515@qq.com

上一篇: 30 个 JavaScript 单行代码,让你成为 JavaScript 奇才

下一篇: 图形编辑器开发:属性显示与格式转换

标签:
  • 热门焦点
  • JavaScript 混淆及反混淆代码工具

    介绍在我们开始学习反混淆之前,我们首先要了解一下代码混淆。如果不了解代码是如何混淆的,我们可能无法成功对代码进行反混淆,尤其是使用自定义混淆器对其进行混淆时。什么是混
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 这款新兴工具平台,让你的电脑效率翻倍

    随着信息技术的发展,我们获取信息的渠道越来越多,但是处理信息的效率却成为一个瓶颈。于是各种工具应运而生,都在争相解决我们的工作效率问题。今天我要给大家介绍一款效率
  • 零售大模型“干中学”,攀爬数字化珠峰

    文/侯煜编辑/cc来源/华尔街科技眼对于绝大多数登山爱好者而言,攀爬珠穆朗玛峰可谓终极目标。攀登珠峰的商业路线有两条,一是尼泊尔境内的南坡路线,一是中国境内的北坡路线。相
  • 造车两年股价跌六成,小米的估值逻辑变了吗?

    如果从小米官宣造车后的首个交易日起持有小米集团的股票,那么截至2023年上半年最后一个交易日,投资者将浮亏59.16%,同区间的恒生科技指数跌幅为52.78%
  • 苹果公司要求三星和LG Display生产「无边框」OLED iPhone显示屏

    据 The Elec 报道,苹果已要求其供应商为未来的 iPhone 型号开发「无边框」OLED 显示面板。苹果显然已要求三星和 LG Display 开发新的 OLED 显示面
  • 三翼鸟智能家居亮相电博会,让用户体验更真实

    2021电博会在青岛国际会展中心开幕中,三翼鸟直接把“家”搬到了现场,成为了展会的一大看点。这也是三翼鸟继9月9日发布了行业首个一站式定制智慧家平台后的
  • “买真退假” 这种“羊毛”不能薅

    □ 法治日报 记者 王春   □ 本报通讯员 胡佳丽  2020年初,还在上大学的小东加入了一个大学生兼职QQ群。群主&ldquo;七王&rdquo;在群里介绍一些刷单赚
  • 北京:科技教育体验基地开始登记

      北京“科技馆之城”科技教育体验基地登记和认证工作日前启动。首批北京科技教育体验基地拟于2023年全国科普日期间挂牌,后续还将开展常态化登记。  北京科技教育体验基
Top