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

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

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

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

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

现在,我们就开始这篇文章的内容吧。jRG28资讯网——每日最新资讯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> 是此规则的一个例外(另一个唯一的例外是 < 脚本>)jRG28资讯网——每日最新资讯28at.com

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

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

变量loadedImg不会被渲染,因为在分配属性src时它仍然是未定义的。jRG28资讯网——每日最新资讯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 奇才

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

标签:
  • 热门焦点
  • Find N3入网:最高支持16+1TB

    OPPO将于近期登场的Find N3折叠屏目前已经正式入网,型号为PHN110。本次Find N3在外观方面相比前两代有很大的变化,不再是小号的横向折叠屏,而是跟别的厂商一样采用了较为常见的
  • vivo TWS Air开箱体验:真轻 臻好听

    在vivo S15系列新机的发布会上,vivo的最新款真无线蓝牙耳机vivo TWS Air也一同发布,本次就这款耳机新品给大家带来一个简单的分享。外包装盒上,vivo TWS Air保持了vivo自家产
  • 十个可以手动编写的 JavaScript 数组 API

    JavaScript 中有很多API,使用得当,会很方便,省力不少。 你知道它的原理吗? 今天这篇文章,我们将对它们进行一次小总结。现在开始吧。1.forEach()forEach()用于遍历数组接收一参
  • 一篇聊聊Go错误封装机制

    %w 是用于错误包装(Error Wrapping)的格式化动词。它是用于 fmt.Errorf 和 fmt.Sprintf 函数中的一个特殊格式化动词,用于将一个错误(或其他可打印的值)包装在一个新的错误中。使
  • 得物效率前端微应用推进过程与思考

    一、背景效率工程随着业务的发展,组织规模的扩大,越来越多的企业开始意识到协作效率对于企业团队的重要性,甚至是决定其在某个行业竞争中突围的关键,是企业长久生存的根本。得物
  • 如何使用JavaScript创建一只图像放大镜?

    译者 | 布加迪审校 | 重楼如果您曾经浏览过购物网站,可能遇到过图像放大功能。它可以让您放大图像的特定区域,以便浏览。结合这个小小的重要功能可以大大改善您网站的用户体验
  • 网红炒股不为了赚钱,那就是耍流氓!

    来源:首席商业评论6月26日高调宣布入市,网络名嘴大v胡锡进居然进军了股市。在一次财经媒体峰会上,几个财经圈媒体大佬就&ldquo;胡锡进炒股是否知道认真报道&rdquo;展开讨论。有
  • 携众多高端产品亮相ChinaJoy,小米带来一场科技与人文的视听盛宴

    7月28日,全球数字娱乐领域最具知名度与影响力的年度盛会中国国际数码互动娱乐展览会(简称ChinaJoy)在上海新国际博览中心盛大开幕。作为全球领先的科
  • 小米MIX Fold 3配置细节曝光:搭载领先版骁龙8 Gen2+罕见5倍长焦

    这段时间以来,包括三星、一加、荣耀等等有不少品牌旗下的最新折叠屏旗舰都得到了不少爆料,而小米新一代折叠屏旗舰——小米MIX Fold 3此前也屡屡被传
Top