js

js渐变颜色、背景、边框

孤者浪人 提交于 2020-01-31 01:00:07
我的闪烁文字 abc123 我的闪烁文字 abc123 边框 代码: <div id="div1">我的闪烁文字 abc123</div><div id="div2">我的闪烁文字 abc123</div><div id="div3" style="height:200px; width:200px; border:solid 5px black;">边框</div><script type="text/javascript">function blink(strId, strEnd, strBegin, speed, styleName){ strBegin = strBegin || '#000000'; speed = speed || 100; styleName = styleName || 'color'; //获取当前颜色分量值 var getCur = function(beginValue, endValue, curValue, bo, rateValue) { if(beginValue == endValue) { return beginValue; } rateValue = beginValue < endValue ? rateValue : -rateValue; curValue += bo ? rateValue : -rateValue; /

js 数组排序

依然范特西╮ 提交于 2020-01-31 00:58:24
数组排序,通过量个数值对比,若果前面一个数大,那么通过第三个变量来交换位置 var arr = [19,4,2,54,12,1,3] for(var i=0; i<arr.length-1; i++){ for(var j=i+1; j<arr.length; j++){ if(arr[i]>arr[j]){ //判断后一个数是否小于前一个数 var r = arr[j]; //如果小于把小的数给变量 r arr[j] = arr[i]; //把大的数换的后面 arr[i] = r; //在把 r 的值赋值给前面 反复循环 } } } console.log(arr) 来源: CSDN 作者: Jason–json 链接: https://blog.csdn.net/weixin_46146313/article/details/104119181

JS 优雅指南 1

蹲街弑〆低调 提交于 2020-01-31 00:25:00
1. 优先使用 const。 const 在 JavaScript 中不仅可以用于命名常量,因为其用于保证内存地址不可变,所以也常用于声明对象与数组。在编程中多使用 const 代替 let, 可以在风格上向 immutable 靠拢,在编程思维上开始摈弃副作用。更多的使用 const 虽然可能使声明项增多,但对于开发者来说,更少的心智负担和语义化命名会使代码质量大大上升。 在 JS 中如果过多的使用 let 声明变量,阅读者往往需要贯穿上下文反复阅读才能理解当前变量的值,且变量可能被其他函数引用更改,显而易见, 使用变量越多理解的成本也就越高,而且你很难追踪变量具体的值。如下方代码统计数组每个值的总和。使用 const 命名一个常量后, 你将无法使用 forEach 在每一次循环时改动它,转而使用 reduce,我们减少了变量 count,增加了常量 count,在随后代码的引用中就无需担忧 变量的状态,因为我们知道,count 只能是一个数值,而不会变化。 // bad let count = 0 [...].forEach(item => { count += item }) // good const count = [...].reduce((pre, current) => pre + current, 0) 2. 使用函数表达式优于函数声明 配合上文所提到的

JS闪电打字特效

你说的曾经没有我的故事 提交于 2020-01-31 00:23:32
HTML <div class="page page-thunder-to-text"> <input id="input" type="text" maxlength="24" placeholder="输入要打文字"> <canvas id="canvas"> </canvas> </div> CSS .page-thunder-to-text { position: relative; overflow: hidden; } .page-thunder-to-text canvas { display: block; } .page-thunder-to-text input { position: absolute; bottom: 50px; left: 0; right: 0; display: block; outline: none; background-color: rgba(38, 50, 56, 0.2); color: #ffffff; border: none; width: 50%; min-width: 500px; max-width: 100%; margin: auto; height: 60px; line-height: 60px; font-size: 40px; padding: 0 20px; } .page-thunder-to

js-数组去重的方法

家住魔仙堡 提交于 2020-01-31 00:00:49
在js中我们想对数组中对于数字重复的值进行操作只显示一个,就分享几个方法 1、数组的indexOf()方法 <script> (function () { var box = document.getElementById('box'); var arr = [1, 1, 2, 2, 3, 3, 4, 4, 5, 5, 6, 6, 7, 7]; norepeat(arr); function norepeat(arr) { var arr1 = [];//声明一个空数组来存放去重之后的数组 arr1 = arr.filter(function (item) { if (arr1.indexOf(item) == -1) { return arr1.push(item); } }) console.log(arr1); } })(); </script> 2、用数组includes()方法(比indexOf()方便) function norepeat2(arr) { //arr是要去重的数组 var newarr = [];//准备用来存放去重之后的数据 arr.forEach(function (item) { if (!newarr.includes(item)) {//1 2 1 2 3 4 //不包含 newarr.push(item);//1 2 3 4 } });

JS原生方法实现jQuery的ready()

泄露秘密 提交于 2020-01-30 23:59:10
浏览器加载页面的顺序: 1、 解析HTML结构 2、 加载外部脚本和样式表文件 3、 解析并执行脚本代码 4、 构造HTML DOM模型==ready() 5、 加载图片等组件 6、 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 function ready(fn){ if(document.addEventListener) { document.addEventListener('DOMContentLoaded', function() { //注销事件, 避免反复触发 document.removeEventListener('DOMContentLoaded',arguments.callee, false); fn(); //执行函数 }, false); }else if(document.attachEvent) { //IE document.attachEvent('onreadystatechange', function() { if(document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //函数执行 } }); } }; 来源:

JS原生方法实现jQuery的ready()

大兔子大兔子 提交于 2020-01-30 23:58:09
浏览器加载页面的顺序: 1、 解析HTML结构 2、 加载外部脚本和样式表文件 3、 解析并执行脚本代码 4、 构造HTML DOM模型==ready() 5、 加载图片等组件 6、 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 function ready(fn) { if (document.addEventListener) { document.addEventListener('DOMContentLoaded', function () { //注销事件, 避免反复触发 document.removeEventListener('DOMContentLoaded', arguments.callee, false); fn(); //执行函数 }, false); } else if (document.attachEvent) { //IE document.attachEvent('onreadystatechange', function () { if (document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //函数执行 } }); } };

JS原生方法实现jQuery的ready()

纵然是瞬间 提交于 2020-01-30 23:57:32
浏览器加载页面的顺序: 1、 解析HTML结构 2、 加载外部脚本和样式表文件 3、 解析并执行脚本代码 4、 构造HTML DOM模型==ready() 5、 加载图片等组件 6、 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 function ready(fn){ if(document.addEventListener) { document.addEventListener('DOMContentLoaded', function() { //注销事件, 避免反复触发 document.removeEventListener('DOMContentLoaded',arguments.callee, false); fn(); //执行函数 }, false); }else if(document.attachEvent) { //IE document.attachEvent('onreadystatechange', function() { if(document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //函数执行 } }); } }; ready(

JS原生方法实现jQuery的ready()

妖精的绣舞 提交于 2020-01-30 23:54:16
浏览器加载页面的顺序: 1、 解析HTML结构 2、 加载外部脚本和样式表文件 3、 解析并执行脚本代码 4、 构造HTML DOM模型==ready() 5、 加载图片等组件 6、 页面加载完毕==onload() ready事件是在DOM模型构造完毕时触发 load事件是在页面加载完毕后触发 function ready(fn){ if(document.addEventListener) { document.addEventListener('DOMContentLoaded', function() { //注销事件, 避免反复触发 document.removeEventListener('DOMContentLoaded',arguments.callee, false); fn(); //执行函数 }, false); }else if(document.attachEvent) { //IE document.attachEvent('onreadystatechange', function() { if(document.readyState == 'complete') { document.detachEvent('onreadystatechange', arguments.callee); fn(); //函数执行 } }); } }; ready(

js 数组去重

我们两清 提交于 2020-01-30 23:50:37
1、 function unique(a) { var res = []; for (var i = 0, len = a.length; i < len; i++) { var item = a[i]; for (var j = 0, jLen = res.length; j < jLen; j++) { if (res[j] === item) break; } if (j === jLen) res.push(item); } return res; } var a = [1, 1, '1', '2', 1]; var ans = unique(a); console.log(ans); // => [1, "1", "2"] 2、 function unique(a) { var res = []; for (var i = 0, len = a.length; i < len; i++) { var item = a[i]; (res.indexOf(item) === -1) && res.push(item); } return res; } var a = [1, 1, '1', '2', 1]; var ans = unique(a); console.log(ans); // => [1, "1", "2"] 3、 function unique(a) {