首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往
您找到你想要的搜索结果了吗?
是的
没有找到

处理Excel文件简单精致JS

前言 对于Javascript处理 Excel 文件来说,js-xlsx 库是目前 Github 上 star 数量最多库了,功能非常强大,强大到入门时瑟瑟发抖。文档有些乱,不适合快速上手。...关于 node-xlsx Node-xlsx 是一个Node.js扩展,通过名字应该能够猜到是干什么,主要是用于解析和构建 Microsoft Excel 表格,这个插件基于 js-xlsx(也就是上面提到上手难度贼大那个...node-xlsx 技术特性 底层基于强大 SheetJS 构建,对 xlsx 文档格式兼容性足够好 支持导出和读取 xlsx 文档,一个工具库解决导入导出需求 只有少数几个 api ,使用非常简单...也很简单。...node-xlsx 地址 https://github.com/mgcrea/node-xlsx 注意事项 node-xlsx 只能处理结构相对简单数据文档,如果数据格式比较复杂,可以到 SheetJS

3.8K30

原生 JS 实现简单图片懒加载

什么时候用懒加载 当页面中需要一次性载入很多图片时候,往往都是需要用懒加载。 懒加载原理 我们都知道HTML中 标签是代表文档中一个图像。。说了个废话。。...随着滚动条向下滚动, bound.top会越来越小,也就是图片到可视区域顶部距离越来越小,当 bound.top===clientHeight时,图片上沿应该是位于可视区域下沿位置临界点,再滚动一点点...函数节流 在类似于滚动条滚动等频繁DOM操作时,总会提到“函数节流、函数去抖”。 所谓函数节流,也就是让一个函数不要执行太频繁,减少一些过快调用来节流。...,此时浏览器是这样 此时第二张图片完全显示了,而第三张图片显示了一点点,这时候我们看看请求情况 img3请求发出来,而后面的请求还是没发出~ 全部载入时 当滚动条滚到底下时,全部请求都应该是发出...()方法返回值一样boundingClientRect目标元素矩形区域信息intersectionRect目标元素与视口(或根元素)交叉区域信息intersectionRatio目标元素可见比例

2.9K20

简单方式使用原生 js 发送 http 请求

使用场景 1、检查接口可用性 主要用于在没有引入 jQuery 等工具页面上需要验证一些 api 能否调得通时候,可以快速调出浏览器调试界面发请求。 这在判断是否存在跨域问题场景下,特别好用。...2、验证接口用于爬虫 另外,因为在浏览器调试界面发起请求跟页面自身 js 发起请求是一样,所以可以不用关心登录状态等上下文环境问题。...这在写爬虫时候特别实用——抓到一个链接之后,直接在浏览器上进行验证,先调用一下试试好不好用再说。...3、减少依赖 因为可以直接使用原生 js,因此无需添加 jQuery、axios 等第三方工具就可以发送 http 就请求,可以减少应用体积。

12.7K20

前端-原生JS实现简单图片懒加载

什么时候用懒加载 当页面中需要一次性载入很多图片时候,往往都是需要用懒加载。 懒加载原理 我们都知道HTML中 标签是代表文档中一个图像。。说了个废话。。...随着滚动条向下滚动, bound.top会越来越小,也就是图片到可视区域顶部距离越来越小,当 bound.top===clientHeight时,图片上沿应该是位于可视区域下沿位置临界点,再滚动一点点...函数节流 在类似于滚动条滚动等频繁DOM操作时,总会提到“函数节流、函数去抖”。 所谓函数节流,也就是让一个函数不要执行太频繁,减少一些过快调用来节流。...img3请求发出来,而后面的请求还是没发出~ 全部载入时 当滚动条滚到底下时,全部请求都应该是发出,如图 ?...()方法返回值一样boundingClientRect目标元素矩形区域信息intersectionRect目标元素与视口(或根元素)交叉区域信息intersectionRatio目标元素可见比例

5K30

简单登录为例,诠释JS面向对象简单实例

十分好用,就开源了,react十分好用,性能也不错,代码逻辑相对来说也挺简单,所以很多人开始用,也有人说这是未来web趋势 ?...……还有很多各式各样框架,如今前端正火,甚至还有很多前端游戏引擎JS,十分强大,在这里就不多说了 好了,貌似有点废话了,那么入正题吧,写JS,其实也要面向对象,在08年小编我刚入坑工作时候,JS并不受大家重视...,甚至CSS都是让美工人员做,现在已经大不一样,来看看一个简单登录是如何用面向对象方式做吧: 先来看看登录页面的代码,十分简单,就是一个用户名和密码 ?...重头戏在js部分,我单独写了份login.js ?...作为后端人员,JS其实一定要会,那些页面的逻辑性脚本要会写,其次,jquery要能看懂,要能灵活运用,到最后,要去使用某个js插件时候你就能灵活运用了,比如jqgrid啦,ztree啦,其实都是如出一辙

1.1K70

简单也最难——怎样获取到Android控件高度「建议收藏」

问题 怎样获取一个控件长和高。相信非常多朋友第一眼看见这个问题都会认为非常easy,直接在onCreate里面调用getWidth、getMeasuredWidth不就能够获得了吗,可是。...事实上是并没有简单,不信的话,你能够去试一下,在onCreate里面,你是无法获得长宽值,始终为0。 原因 这是为什么呢,事实上熟悉view绘制流程朋友应该一眼就看出来了。在onCreate中。...我们控件事实上还并没有画好,换句话说,等onCreate方法运行完了,我们定义控件才会被度量(measure),所以我们在onCreate方法里面通过view.getHeight()获取控件高度或者宽度肯定是...,所以是推荐使用。...如今看来,看似简单问题也不是那么简单吧。 以上。

74610

简单表单布局控件

一个好做法是使用某些控件库提供表单控件;如果不想引入一个这么“重”东西,可以自己定义一个简单表单控件。...这篇文章介绍一个简单用于布局表单Form控件,虽然是一个很老方案,但我很喜欢这个控件,不仅因为它简单实用,而且是一个很好结合了ItemsControl、ContentControl、附加属性教学例子...FormItem并不会为UI提供丰富属性选项,那是需要赚钱控件库才会提供需求,而且除了Demo外应该没什么机会要为每个Form设定不同外观。...这两个控件使用如下: ?...其它方案 Form是一个简单只满足了基本布局功能表单方案,业务稍微复杂程序可以考虑使用下面这些方案,由于这些方案通常包含在成熟控件库里面(而且稍微超出了“入门"范围),所以我只简单地介绍一下。

2.3K30

升级R简单直接方法

升级R一直是一件比较痛苦事情,你需要先安装新R,然后在逐一安装以前装过包。最快办法也是把以前包文件夹拷到新R中,然后在新版本中运行包更新。...由于官方源一般都提供最新R版本二进制文件,所以为了更好稳定性一般也要跟着升级。所以这是一件相对痛苦又不得不做事情。...现在installr程序包提供了自动化升级途径,你只需要回答几个问题就可以将R升级至最新版本,同时相应程序包也会及时得到更新。...你需要做只是: install.packages("installr") library(installr) updateR() 然后就会提示最新R版本,和是否需要拷贝老版本R程序包目录,是否需要移除老程序包目录以及是否更新新版本中程序包...一切搞定之后会提醒你是否需要打开新RGui,程序会默认将系统默认R设置为最新版,因此RStudio也会自动切换到最新R版本。

1.5K130

升级R简单直接方法

升级R一直是一件比较痛苦事情,你需要先安装新R,然后在逐一安装以前装过包。最快办法也是把以前包文件夹拷到新R中,然后在新版本中运行包更新。...由于官方源一般都提供最新R版本二进制文件,所以为了更好稳定性一般也要跟着升级。所以这是一件相对痛苦又不得不做事情。...现在installr程序包提供了自动化升级途径,你只需要回答几个问题就可以将R升级至最新版本,同时相应程序包也会及时得到更新。...你需要做只是: install.packages("installr") library(installr) updateR() 然后就会提示最新R版本,和是否需要拷贝老版本R程序包目录,是否需要移除老程序包目录以及是否更新新版本中程序包...总的来看,R升级还是很成功,使用起来也很方面。

9.4K20

简单js实现点击展开二级菜单功能

大家好,又见面了,我是你们朋友全栈君。...虽然,jQuery已经非常好用了,但是实际开发项目中,还是有很多限制,比如项目组奇葩要求,不能使用任何插件,当然,也是考虑插件占用资源,毕竟100+KB对与小型项目来说还是非常大。...我最近就遇到做个点击展开二级菜单要求,当然只能用原生JS去写来实现,我借鉴了网上一个案例,补充一下,分享一下: 如果,默认打开页面进来时二级菜单是隐藏,需要点击才能展现二级菜单,再点击就是隐藏二级菜单...这里有两个点,实现展现和隐藏用display=”block“和display=”none”,另外就是要做一个判断,if else判断当前是block还是none。 <!...如果,你页面默认进来二级菜单是展现,点击时才关闭。直接把style标签样式display=”none”去掉就可以。同时需要修改一下js

4K20

技术是简单

技术是简单简单也是技术。有很多事情只有我们经历了明白,有些事情我们可以从别人身上学到,有些则永远学不到。 动画片里的人们以一种预想方式生活着,这个世界被设定为这样那样。...简单是赚钱 在《魁拔妖侠传》开始时候,对于主人公母亲一个教诲是: 简单是赚钱 无论主人公想去做什么,都会补上一句赚钱是简单,不要去想别的。...技术是简单 过去一直在想是提高技术,而提高技术本身而成为了一件有意思事。 没有太多工作经验,过去一直试想是: 当我们技术足够好的话,我们可以很容易地从一个项目切换到另外一个项目。...软件开发者擅长就是学习。 上面我们假设了一个前提是——最后两个人有差不多一样技术领域知识。并不是因为这个工作多年的人不再学习了,而是在这个领域里已经没有足够领域可以学习了。...人际关系 人际关系是一种复杂东西,相比于上面的领域知识来说。我们需要去处理和不同人之间关系,无论是在项目上,还是在哪?但是这真的一点都不简单。 技术才是简单

1K50

Three.js 实现 360 度全景浏览简单方式

用 Three.js 做这样一个全景图浏览工具,是再简单不过事情,只需要几行代码,但却很有用。 那我们就来学一下 Three.js 怎么做全景图浏览吧。...Three.js 基础回顾 我们简单回顾下 Three.js 基础: Three.js 是通过场景 Scene 来管理 3D 场景中各种物体,有一个三维坐标系,每个物体放在不同位置,然后在某个位置放置相机...这就是 Three.js 3D 场景创建和渲染成 2D 流程。 简单回顾了下基础,那全景图改怎么浏览呢?.../js/three.js"> <script src="....其实实现全景图浏览更<em>简单</em><em>的</em>方式是直接给 Scene 设置立方体纹理,不用再单独创建立方体或球体,用 CubeTextureLoader 加载六张图,设置到 Scene <em>的</em>背景上就行。

4.3K51

简单 Django 教程

例如tornado用是自己异步非阻塞“wsgi”,flask则只提供了精简和基本框架。Django则是直接使用了WSGI,并实现了大部分功能。 2....编写路由 路由都在urls文件里,它将浏览器输入url映射到相应业务处理逻辑。 简单urls编写方法如下图: 编写业务处理逻辑 业务处理逻辑都在views.py文件里。...至此,一个简单django编写web服务就启动成功了。 返回HTML文件 上面我们返回给用户浏览器是什么?一个字符串!实际上这肯定不行,通常我们都是将html文件返回给用户。...你CSS,JS和各种插件都可以放置在这个目录里。...至此,一个要素齐全,主体框架展示清晰django项目完成了,其实很简单是不是?

1.3K10
领券