
JavaScript
文章平均质量分 57
fairyIer
前端学习ing
非淡泊无以明志,非宁静无以致远。
展开
-
Javascript中浮点数乘法溢出解决方案
Javascript中浮点数乘法溢出解决方案Javascript中的浮点数的加减乘除是个很有意思的事情,基本都会出现溢出的情况。解决的思路基本都是:将浮点数变为整数,运算完再除以相应的倍数。以下举例一个乘法的解决方案:浮点数相乘有很多方式,下面是我给出的一个我自己认为不错的解决方案:// An highlighted blockfunction FxF(f1, f2) { f1 += ''; f2 += ''; var f1Len = f1.split('.')[1].le原创 2022-04-01 15:34:21 · 2553 阅读 · 0 评论 -
VUE+Webpack 实现懒加载的三种方式
转自:https://blog.youkuaiyun.com/qq_37540004/article/details/78727063第一种 引入方式 就是正常的路由引入方式const router = new Router({ routes: [ { path: '/hyh', component: hyh, name...转载 2018-06-01 11:56:28 · 2816 阅读 · 0 评论 -
gulp-ruby-sass与gulp-sass的区别
gulp-ruby-sass它使用Sass gem编译Sass,将结果输出到一个gulp流安装命令npm install –save-dev gulp-ruby-sass注意:使用gulp-ruby-sass而不是gulp.src来编译Sass文件var gulp = require('gulp');var sass = require('gulp-ruby-sass');gulp.ta...原创 2018-06-14 17:48:58 · 979 阅读 · 3 评论 -
NodeJS中的require和module.exports和import
ES6标准发布后,module成为标准,标准的使用是以export指令导出接口,以import引入模块,但是在我们一贯的node模块中,我们采用的是CommonJS规范,使用require引入模块,使用module.exports导出接口。不把require和import整清楚,会在未来的标准编程中死的很难看。require时代的模块node编程中最重要的思想之一就是模块,而正是这个思想,让Jav...转载 2018-05-31 15:29:32 · 4610 阅读 · 0 评论 -
vue项目使用umeditor报错Ueditor Cannot set property 'innerHTML' of undefined
网上有很多关于vue项目结合百度富文本使用的例子,比如这篇:https://www.cnblogs.com/dmcl/p/7152711.html获取编辑器内容方法: methods: { getUEContent() { // 获取内容方法 return this.editor.getContent() } },因为我还加了watch,旨在页面从加...原创 2018-06-13 16:50:22 · 6436 阅读 · 0 评论 -
echarts3 地图文字位置设置
如图,感觉echarts地图中省份名字位置默认是居中(基于长方形居中)的,导致很多文字几在一堆,难看死了开始在文档里面找相应的配置项,许久没找到,然后看网友说:打开js文件,搜索对应区县的名字,紧跟着名字后面有个类似"cp":[103.xxxxxx,30.xxxxxx]这样的东东,这个就是显示名字的坐标了,改了它就行。注意改了之后要清空缓存。我是在vue项目中使用的vue-echarts-v3 ,...原创 2018-05-29 17:08:08 · 29105 阅读 · 5 评论 -
原生js阻止冒泡,兼容写法
js:var $item = document.getElementById('item'); $item.onclick = function (e) {//阻止冒泡 if (e) { e.stopPropagation(); e.preventDefault(); } else { ...原创 2018-05-28 15:49:30 · 4617 阅读 · 1 评论 -
handsontable新增行或者列表格错位问题解决
强大的handsontable表格可以实现类似excel一样的编辑,最近vue项目中有用到,正在熟悉它的配置,碰到一个小问题:新增列之后,表格线错位:我开始是用元素查找了很久的css样式,看是否后面几列的列头高度是否相比第一列有了变化,但他们的高度值、padding、margin等都是一样的,没有找到不同。最后想到它是display:table-cell,我就网上查看了下这种类型的高度的设...原创 2018-05-15 11:38:21 · 5106 阅读 · 4 评论 -
hansontable自定义渲染
hansontable的渲染定义方式有多种,常见的有NumericRenderer、TextRenderer、CheckboxRenderer,但他们都是通过registerRenderer来渲染的,registerRenderer是hansontable的渲染公用方法,其他的渲染都是在此基础上扩展的。那么我们需要自定义一个文本渲染该如何实现呢?请跟我来:首先需要定义你自己的渲染方法[javasc...转载 2018-05-14 16:04:07 · 1177 阅读 · 0 评论 -
移动端点击300ms延迟问题和解决
今天屁颠屁颠写完了,手机端做测试时,点击,发现有延迟,就百度了下,原来这就是传说中的300ms延迟啊,百度了点资料,记录下,解决项目中这个小问题! 一、移动端300ms点击延迟 一般情况下,如果没有经过特殊处理,移动端浏览器在派发点击事件的时候,通常会出现300ms左右的延迟。也就是说,当我们点击页面的时候移动端浏览器并不是立即作出反应,而是会等上一小会儿才会出现点击的效果。在移动...转载 2018-08-06 15:00:59 · 1020 阅读 · 0 评论 -
js限制输入框只能输入数字
分享下js限制输入框中只能输入数字的方法,包括整数与小数,分享几个例子,有需要的朋友参考下。1.使用正则表达式限制输入框只能输入数字: <input type="text" onkeyup="this.value=this.value.replace(/[^\d]/g,'') " onafterpaste="this.value=this.value.replace(/[^\d]/...转载 2018-08-16 16:25:48 · 2851 阅读 · 0 评论 -
IP地址的正则表达式
这里讲的是IPv4的地址格式,总长度 32位=4段*8位,每段之间用.分割, 每段都是0-255之间的十进制数值。将0-255用正则表达式表示,可以分成一下几块来分别考虑:取值区间 特点 正则写法 可合并的写法 可合并的写法 可合并的写法 0-9 一位数,只有个位,取值是0~9 \d [1-9]?\d (1\d{2})|([1-9]...原创 2018-08-17 15:35:15 · 23324 阅读 · 2 评论 -
el-table 根据屏幕大小动态设置max-height来自适应表格的最大高度出现滚动条
根据element-ui的文档,max-height的合法的值为数字或者单位为 px 的高度。无法识别响应式的css,如:max-height:calc(100vh - 40px)//或者max-height:calc(100% - 40px)受网友启发,实现思路:通过js计算表格的最大高度,然后将高度数值传给el-table的max-height属性,上代码:html:...原创 2019-08-20 16:53:11 · 35099 阅读 · 21 评论 -
vue-quill-editor回显不显示空格和缩进的解决方案
只需要加上class="ql-editor"就行了<p class="ql-editor" v-html="content"></p>参考下文:感谢博主:https://blog.youkuaiyun.com/SkelleBest/article/details/85020842原创 2019-05-30 11:45:01 · 7003 阅读 · 0 评论 -
scroll事件页面抖动--函数节流与函数防抖
resize,scroll,hover等js事件触发时绑定的方法会被频繁调用,致使页面产生性能问题,所以我们使用函数节流来解这个决问题。思路:如果事件一直被触发,也只在一定事件间隔才执行一次//scroll方法中当间隔时间大于2s,do somthing执行一次window.addEventListener('scroll',function(){ var timer ;//使...原创 2018-12-27 17:25:06 · 4846 阅读 · 0 评论 -
js数组遍历和对象遍历
针对js各种遍历作一个总结分析,从类型用处:分数组遍历和对象遍历;还有性能,优缺点等。JS数组遍历:1,普通for循环,经常用的数组遍历var arr = [1,2,0,3,9]; for ( var i = 0; i <arr.length; i++){ console.log(arr[i]);}2,优化版for循环:使用变量,将长度缓存起来,避免重复获取长度...转载 2018-10-09 14:33:47 · 298 阅读 · 0 评论 -
使用vux实现上拉刷新功能遇到的坑
1.问题:只刷新一次,解决方法:需要自己手动重置状态this.scrollerStatus.pullupStatus = ‘default'2.问题:不能滚动,解决方法:因为启用keep-alive缓存,需要设置activated () { this.$refs.scroller.reset()}如果还没效果,请在获取后台数据后,执行如下代码this.$nxtTick...转载 2018-10-09 14:31:28 · 1007 阅读 · 1 评论 -
理解javascript中的策略模式
策略模式的定义是:定义一系列的算法,把它们一个个封装起来,并且使它们可以相互替换。 使用策略模式的优点如下:优点:1. 策略模式利用组合,委托等技术和思想,有效的避免很多if条件语句。 2. 策略模式提供了开放-封闭原则,使代码更容易理解和扩展。 3. 策略模式中的代码可以复用。一:使用策略模式计算奖金;下面的demo是我在书上看到的,但是没有关...转载 2018-09-12 09:42:40 · 188 阅读 · 0 评论 -
最新手机号码、电话号码正则表达式js
正则表达式(regular expression)是一个描述字符模式的对象。使用JavaScript正则表达式可以进行强大的模式匹配和文本检索与替换功能。手机号码正则表达式验证。function checkPhone(){ var phone = document.getElementById('phone').value; if(!(/^1[34578]\d{9}$/...转载 2018-08-21 20:36:45 · 634 阅读 · 0 评论 -
js何判断一个对象是否数组类型
在说明如何判断一个对象为数组类型前,我们先巩固下js的数据类型,js一共有六大数据类型:number、string、object、Boolean、null、undefined。 string: 由单引号或双引号来说明,如"string"; number:数组类型,比如整数、小数等; Boolean: 有两个值:true、false; undefined:未定义,就是你创建一个变量后却...转载 2018-08-20 17:17:35 · 228 阅读 · 0 评论 -
执行多个onload被覆盖问题
一个页面执行多个window.onload,会被最后一个覆盖,前面n个的内容得不到执行,如 window.onload = function(){ var para =document.createElement("p"); var info = "NodeName:"; info += para.nodeName; info += " ...原创 2018-05-07 17:17:00 · 3347 阅读 · 0 评论 -
原生js对象合并对象拷贝Object.assign()方法的es5、es6实现
实现思路:支持es6的浏览器,可以直接用Object.assign()合并对象,只支持es5的浏览器,我们用pollyfill的方法。 作用Object.assign() 方法用于把一个或多个源对象的可枚举属性值复制到目标对象中,返回值为目标对象。语法Object.assign(target, ...sources)参数target: 目标对象sources: 源对...原创 2018-05-07 16:30:00 · 12371 阅读 · 0 评论 -
解决js new Date()的浏览器兼容性问题,IE、safari的new Date()的值为Invalid Date、NaN-NaN的问题
当我们需要将一串日期字符串转换为具体的Date格式的时候,往往需要用到new Date("xxxx")方法。当时在IE、safari浏览器下,会遇到这种问题:new Date('2016-01-01 00:00:00') //却返回这个值Invalid Date,转换失败但在chrome、FF返回的正确的结果,所以不同的浏览器还是存在差异的,以下列出了所有浏览器都支持的方式。1 var d ...原创 2018-03-26 11:24:36 · 14631 阅读 · 0 评论 -
Emoji的编码格式(emoji 简介)
emoji表情的Unicode编码,在数据库具体用utf8mb4编码转载 2017-11-09 14:10:34 · 13864 阅读 · 2 评论 -
echarts,type:bar 柱形图的行高和宽度(条间距离)设置
type:bar 柱形图的行高和宽度(条间距离)设置百度图表柱形图的bar之间的行高?好像在文档没找到对应属性,只有barGap和barCategoryGap,但单独设置这两个一般还达不到我们想要的“条间距”显示效果,可以试试以下设置:关键代码:yAxis:{type:'category',data:['周一','周二','周三','周四','周五'],max:20 //...原创 2017-11-08 09:50:20 · 141984 阅读 · 11 评论 -
IOS safari 浏览器 时间乱码(ios时间显示NaN) 问题解决
通常IOS下时间错误表现形式问题一: 这个界面运用了大量的日期类型的计算,当我们用JavaScript实例化一个日期对象时,我们可以这样用:[javascript] view plain copy var date =new Date(); 上面这段代码转载 2017-11-07 16:34:29 · 1888 阅读 · 0 评论 -
URL的#号作用(window.location.hash 使用说明)
本文对链接和URL里面的#号,它的作用、用法做了详细讲解转载 2017-07-27 15:46:38 · 6737 阅读 · 0 评论 -
js类中的公有变量和私有变量
先看代码1: function car(){ var wheel = 3;//私有变量 this.wheel = 4;//公有变量 alert(wheel); alert(this.wheel); } var car1 = new car();结果是:3 4 代码2: function car(){ var whe转载 2017-07-26 11:18:35 · 2914 阅读 · 0 评论 -
jq的slideToggle()在ie8里遇到bug:下盒子的margin—top失效,margin-top塌陷解决方法
实现效果,点击box.head,用jq实现slideToggle上下滑动box.body,我的代码如下: 第1部分 什么叫交互动效?原创 2016-05-13 17:38:20 · 1592 阅读 · 0 评论 -
一行代码解决ie浏览器弹出允许阻止控件问题
今天我在页面插入了flash视频,ie浏览器在打开页面预览的时候显示“Internet Explorer 已限制此网页运行脚本或ActiveX控件 ” 然后旁边有个按钮:允许阻止的内容,我们一帮就要手动点击这个按钮才能看到页面的视频或动画,要是万一别人不小心关闭了这个对话框或者没有允许,就看不到动画了,所以,可以在标签里面加这一行: 问题就解决了,用ie浏览器打开测试页面再也不会问你允许阻止原创 2016-04-12 18:46:12 · 4150 阅读 · 3 评论 -
判断浏览器版本js方法
// 判断浏览器版本function getExploreName(){ var userAgent = navigator.userAgent; if(userAgent.indexOf("Opera") > -1 || userAgent.indexOf("OPR") > -1){ return 'Opera'; }else if(userAgent.inde...原创 2018-03-26 11:27:54 · 462 阅读 · 0 评论 -
对付简单的运行商广告脚本,让它插入到错误的地方
转载 2018-03-28 15:13:46 · 184 阅读 · 0 评论 -
layui弹出层闪退,layer弹出层闪退,layer弹出层坑
今天用layui的弹出层插件,发现两奇怪的问题:1、弹窗打开事件还未绑定到任何按钮,可是点击form表单中的按钮可以打开我定义的弹出层2、绑定弹出层到按钮,打开弹窗闪退 后面发现真如参考博文所说:我的button也是在form表单中,原因:我在form表单中使用了Button按钮,点击的时候会触发默认事件,而form的action我没填,所以就是弹出层闪退!!解决办法:...原创 2018-04-12 14:43:13 · 10449 阅读 · 13 评论 -
handsontable汉化包 2.0.x(vue项目)
handsontable@2.0.x强大的handsontable表格可以实现类似excel一样的编辑,最近vue项目中有用到,正在熟悉它的配置。我所说的汉化,主要是对于右键菜单的,汉化完的结果如下:第一步:我开始只是想设置右键菜单为中文,配置contextMenu项类似这样:contextMenu: { items: { "row_above"...原创 2018-05-18 16:22:18 · 5799 阅读 · 9 评论 -
原生js动态添加样式表
原生js给html动态添加样式表:1.创建标签<style>添加一张内置样式表 var style1 = document.createElement('style'); style1.innerHTML = 'body{color:red}#top:hover{background-color: red;color: white;}';...原创 2018-05-04 15:59:59 · 9846 阅读 · 0 评论 -
原生js返回顶部动画
基于上一篇写的获取页面垂直滚动值的方法,完成原生js返回顶部动画效果: var backTop = document.getElementById('zyHung').getElementsByClassName('top')[0]; backTop.onclick = function () { __backToTop(300); } /** ...原创 2018-05-04 11:26:22 · 1161 阅读 · 0 评论 -
原生js获取和设置页面垂直滚动高度
最近想用原生js实现一些交互效果,以下代码是返回顶部按钮要用到的一个方法:获取和设置页面垂直滚动高度,如果用jq可以简单实现,用原生js,其实就是要多考虑浏览器的兼容性:/** * 获取&&设置-页面垂直滚动值 * */ function __getPageScrollY(top) { if (top || Number(top) ==...原创 2018-05-04 11:20:29 · 10112 阅读 · 0 评论 -
jq级联选择,省市选择
一个简单的级联选择省、市:HTML:<div class="wrap"> <select id="province"><option value="0">选择省份</option></select> <select id="city">&l原创 2018-04-20 15:50:17 · 1233 阅读 · 0 评论 -
关于saved from url使用
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN"><!-- saved from url=(0021)http://www.baidu.com/ --><html><title>aaaa</title><body><a href=&qu转载 2018-04-13 17:53:54 · 2121 阅读 · 0 评论 -
JavaScript中闭包的写法和作用详解
JavaScript中闭包的写法和作用详解本文给大家介绍javascript中的闭包,包括对js闭包概念的理解,闭包的几种写法和用法,闭包的主要作用,闭包与this对象,闭包与内存泄露及使用闭包的注意点相关知识,非常不错,具有参考借鉴价值,感兴趣的朋友一起学习吧1、什么是闭包闭包是有权访问另一个函数作用域的变量的函数。 简单的说,Javascript允许使用内部函数---即函数定义和函数表达式位于...转载 2018-04-23 15:29:32 · 550 阅读 · 0 评论