
JS、jQuery
文章平均质量分 59
guanguan0_0
学着学着就会了
展开
-
background-image无法显示图片
在使用js来设置backgroundImage参数时,我发现有些图片无法正常显示,仔细看了区别发现,文件名中带有括号的无法显示解决方法:在url的括号内上添加引号,将其固定为字符串,来防止圆括号的冲突问题backgroundImage: `url('${imgUrl}')`因为获取的地址是随机的,所以需要加引号来避免发生括号冲突...原创 2021-04-21 17:36:39 · 5982 阅读 · 1 评论 -
js数据类型及判别方法
你可能在面试题中见过如下题目:!!null!!''!!1!!undefined做两次非运算?其实就是想要取Boolean值,将其强制转换为布尔值例如,想要判断输入值是否为空,!!valuejs中类似这样的套路还有:// 转换为数字+ '123' // 123- '123' // -123// 转换为字符串123 + '' // '123'...原创 2021-03-09 17:52:12 · 1881 阅读 · 0 评论 -
css+js实现水波状进度条动画
进度条在前端很常见,效果也多种多样,慢慢积累。这次介绍一个水波状的进度动画,如图主要是使用js和css来处理,这里需要计算一个值,因为是匀速增加百分比,所以我们需要对照总耗时来计算对应的增长速度,这里是我的配置:总时间:30s,也就是在样式的动画效果中的播放时间设置为30s总进度:100%增长间隙时间:150ms (经过测试,如果设置100ms感觉变化太快,看不清)增长速度:0.48% 。30/0.15 = 100/0.5 但是为了让数据变化看起来更加真实,所以想要显示两位小数.原创 2020-12-10 16:50:01 · 3155 阅读 · 0 评论 -
介绍几种js脱敏加密(手机号邮箱等)
虽然前端数据都是从后端拿到的,我们也知道前端对数据的处理也都是表皮层,没法达到真正的安全目的。但,没法,有时候我们还是要去做一些本不该做的事情来让某些东西看似合理。下面介绍几种前端js加密的方法:加密,其实就是对字符串的处理,主要包括查找,截取,替换,当然我们还可以使用正则1、手机号脱敏拿手机号脱敏举例:可以使用slice、substring或者正则,类似的所有字符串的处理都可以使用这几种方法:const phone = "13031325689";const str1 = pho原创 2020-12-09 18:26:44 · 12504 阅读 · 5 评论 -
JS最大最小安全数和精度丢失问题
此篇内容是由一道题目引发的思考,题目如下:const END = Math.pow(2, 53);const START = END - 100;var count = 0;for(let i = START; i <= END; i++){ count++;}console.log(count);结果是100还是101呢?都不是,打印不出来,已经陷入死循环。我们可以通过 Number.MAX_SAFE_INTEGER 和 Number.MIN_SAFE_INTEGER原创 2020-08-20 14:15:10 · 1433 阅读 · 0 评论 -
JS运算符和运算符优先级
先做一道题:var val = 'abcd';console.log('Value is ' + (val === 'abcd') ? 'A' : 'B');控制台打印出的结果是 // A因为连接符的优先级高于三元运算符,所以该题目相当于:'Value is ' + true ? 'A' : 'B',由此得出该题的两个变体:console.log('Value is ' + val === 'abcd' ? 'A' : 'B'); // Bconsole.log('Value i.原创 2020-08-19 15:06:44 · 487 阅读 · 0 评论 -
js网址域名的校验
二话不说,直接上代码export const IsURL = (str_url) => { const strRegex = '^((https|http|ftp|rtsp|mms)?://)' + "?(([0-9a-z_!~*'().&=+$%-]+: )?[0-9a-z_!~*'().&=+$%-]+@)?" + // ftp的user@ '(([0-9]{1,3}.){3}[0-9]{1,3}' + // IP形式的URL- 199.194.5原创 2020-06-28 13:58:22 · 1938 阅读 · 0 评论 -
前端实现一键复制到剪切板
复制是网页上很常见的一个功能,下面就使用js来实现复制功能;// 复制功能copyUrl(dom) { var copyDOM = document.querySelector(dom); //需要复制文字的节点 var range = document.createRange(); //创建一个range window.getSelection().removeAllRa...原创 2019-12-09 18:29:13 · 1315 阅读 · 3 评论 -
js倒计时实现及vue轮询报错问题
遇到验证码获取倒计时等场景需要用到定时器Interval,以下展示vue中计时器的用法data() { return { codeTime: 60, // 倒计时读秒数 codeTimer: Function // 定义验证码倒计时器 }},mounted() { this.codeTimer = setInterval(()=&g...原创 2019-11-14 19:53:45 · 437 阅读 · 0 评论 -
js去除字符串的空格
说到去除空格,首先都会想到的就是trim()方法,但是trim()只能去除字符串前后的空格,无法去除字符串中间的空格。下面总结一下js去除字符串空格的几种方法:1、trim()trim()是去除字符串前后两端的空格,返回一个新的字符串,对原字符串不会有影响;trimLeft()、trimStart()是去除字符串前端的空格;trimRight()、trimEnd()是去除字符串...原创 2019-08-27 15:34:54 · 2155 阅读 · 0 评论 -
isObject()等JS开发常用工具函数
1、isPrimitive()检测是不是原始数据类型JS原始数据类型:Number、String、Boolean、Null、Undefinedlet isPrimitive = (value)=> { return ( typeof value === 'string' || typeof value === 'number' || ...原创 2019-07-29 17:15:00 · 5878 阅读 · 0 评论 -
ios10以下版本无法打开vue页面
使用vue开发公众号的时候遇到,在安卓系统打开页面正常,ios10以上也是正常,但是ios9打开空白。原因是es没有完全被解析。修改webpack.base.conf.js:entry: { app: ['babel-polyfill', './src/main.js']},module: { rules: [ { test...原创 2019-07-04 19:50:19 · 4085 阅读 · 1 评论 -
js生成字母和数字随机数
别的不多说,直接上代码function RandomRange(min, max) { var returnStr = "", range = (max ? Math.round(Math.random() * (max-min)) + min : min), arr = ['0', '1', '2', '3', '4', '5', '6', '7', '8', '9', 'a'...原创 2019-06-26 14:41:03 · 2576 阅读 · 1 评论 -
js邮箱、手机号等常用正则表达式
邮箱:/^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/数字和字母:/^[a-zA-Z0-9]*$/非中文:/[^\u4e00-\u9fa5]/手机号:/^1[3|4|5|6|7|8|9][0-9]\d{8}$/IP地址:/((25[0-5]|2[0-4]\d...原创 2019-06-17 10:25:35 · 280 阅读 · 0 评论 -
JS的原型和原型链
函数(function)function foo() {} // 函数声明var foo = function() {} // 函数表达式函数对象(function object):代表函数的对象var foo = new function() {}function Foo() {}var foo = new Foo();本地对象(native object)...原创 2019-02-20 23:37:47 · 128 阅读 · 0 评论 -
JS数组操作函数汇总
数组的遍历for:普通版:for(let i=0; i<arr.length; i++) { }优化版:for(let i=0,len=arr.length; i<len; i++) { }弱化版:for(let i=0; arr[i] != null; i++) { }forEach: arr.forEach((e, index) => { }) 性能比f...原创 2019-02-18 18:20:25 · 14606 阅读 · 0 评论 -
JS的localStorage和sessionStorage的用法
sessionStorage(临时存储):为每个数据源维持一个存储区域,在浏览器打开期间存在,包括页面重新加载localStorage(长期存储):浏览器关闭后,数据依然会一直存在*引用类型的值要转换成JSON1、保存数据到本地存储:const userInfo = { name: '管管', age: 18,};sessionStorage.setItem('userInfo', JS...原创 2018-07-04 16:06:02 · 850 阅读 · 0 评论 -
JS指定区域的全屏显示
<html> <head> <title>js指定区域全屏</title> <style> #fulldiv { background: #fff; width: 100%; ...原创 2018-09-14 17:01:01 · 3628 阅读 · 0 评论 -
m3u8直播hls流视频
使用阿里的流视频播放器:<!DOCTYPE html><html> <head> <meta charset="utf-8"> <meta http-equiv="x-ua-compatible" content="IE=edge" > &原创 2018-09-14 17:02:26 · 7352 阅读 · 0 评论 -
JS时间戳和日期互相转换
1、获取当前时间(标准时间):var mydate = new Date();console.log(mydate);//Fri Aug 24 2018 15:54:44 GMT+0800 (中国标准时间)2、将时间戳转换为日期格式:function timestampToTime(timestamp) {var date = new Date(time...原创 2018-09-14 17:03:45 · 473 阅读 · 0 评论 -
前端必识书写规范
命名规则:1、项目命名:全部采用小写,以下划线分割my_project_name2、目录命名:参照项目命名规则,有复数结构时,要采用复数命名法scripts,styles,images,data_models3、JS命名:参照项目命名规则list_table.js4、css,scss命名规则:参照项目命名规则list_table.css5...原创 2018-10-15 18:12:03 · 449 阅读 · 0 评论 -
获取URL的参数
1、URL的组成完整的URL由这几个部分构成: scheme://host:port/path?query#fragment名词解释: scheme:通信协议.常用的http,https,ftp,maito等. host:主机(带端口号). 主机名或IP 地址。 port:端口号,可选,省略时使用默认端口,如http的默认端口为80。 path:路...原创 2018-11-12 16:51:11 · 4893 阅读 · 0 评论 -
移动端上传图片和视频文件
手机拍摄的视频文件一般是mp4格式的,ios系统拍摄的视频是mov格式上传图片功能是直接调用的摄像头,并且可以选择本地图片大概页面设计如下:具体实现功能:1、可以调用摄像头上传图片2、上传本地视频3、预览已上传的图片和视频4、删除已上传的图片和视频文件具体代码如下:<!DOCTYPE html><html><head&g...原创 2018-12-17 16:41:35 · 7678 阅读 · 1 评论 -
H5页面调用扫一扫功能
想要实现H5页面调用微信扫一扫功能,必须先了解微信JS-SDK接口企业号开发接口文档地址:https://qydev.weixin.qq.com/wiki/index.php?title=%E9%A6%96%E9%A1%B5我们来看下使用的大概步骤1、在页面引入js文件http://res.wx.qq.com/open/js/jweixin-1.2.0.js2、通过config接口...原创 2018-12-17 14:16:29 · 17396 阅读 · 10 评论 -
移动端设置适配font-size
移动端设置适配font-size根据屏幕的大小设置不同的根节点font-size,开发时即使用rem来使其达到自适应@media screen and (min-width:287px) and (max-width:320px) { html { font-size: 10px !important }}@media screen and (min-width:321px)...原创 2018-12-07 09:35:19 · 1069 阅读 · 0 评论 -
微信公众号获取用户地址
JS-SDK获取用户地区经纬度getArea() { this.doConfig(); let that = this; //创建百度地图控件 wx.getLocation({ type: 'wgs84', // 默认为wgs84的gps坐标,如果要返回直接给openLocation用的火星坐标,可传入'gcj02' success: function (res) { ...原创 2018-12-17 16:43:21 · 1753 阅读 · 2 评论 -
H5页面使用vuejs
<!DOCTYPE html><html><head> <meta charset="utf-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge"> <title>xxxxx</title&a原创 2018-12-17 11:36:49 · 5040 阅读 · 0 评论 -
培养优秀的JS代码风格
尽管技术一般,但是也要写一手好代码让人看起来有大神风范;好代码不仅要精炼,更要易读。一、变量(努力做一个干净的小变量好嘛)(1)变量的数量控制避免滥用变量:数据只使用一次或不使用就无需装到变量中,例let temp = 2; // 定义好了之后就没有用过function func() { var a = 1; var b = 2; var c = a +...原创 2019-01-22 18:07:43 · 259 阅读 · 0 评论 -
前端上传视频至阿里云
1、开通阿里云服务,获取userId官方文档地址:https://help.aliyun.com/document_detail/52204.html?spm=a2c4g.11186623.6.915.51366bd19lzWGq2、下载第三方js库:放在src/assets/lib文件夹下3、引入使用第三方库:告诉angular去哪加载库在angular.json中找...原创 2019-01-23 16:59:11 · 14545 阅读 · 2 评论 -
jq实现分页组件
分页样式如下:HTML:<div id="page1" class="page_div"></div><script src="js/paging.js"></script>js:$("#page1").paging({ pageNo: 1, //当前页 totalPage: 2, //总页数(可原创 2018-05-25 16:39:18 · 1290 阅读 · 0 评论