web前端
海盗强
这个作者很懒,什么都没留下…
展开
-
10万以内快乐数之和
首先快乐数定义:快乐数(happy number)有以下的特性:在给定的进位制下,该数字所有数位(digits)的平方和,得到的新数再次求所有数位的平方和,如此重复进行,最终结果必定为1。如:28 ---> 2*2+8*8=68 ---> 6*6+8*8=100 ---> 1*1+0*0+0*0=1,因此28和68还有100都是快乐数十万以内快乐数之和(直接上代码):方法1:直接复制粘贴在html文档就能跑起来,具体实现原理请看代码注释!<!DOCTYPE ht原创 2021-03-05 18:20:58 · 703 阅读 · 1 评论 -
js中截取字符串的三个方法 substring()、substr()、slice()及charAt() 方法
js中有三个截取字符的方法,分别是substring()、substr()、slice(),平时我们可能都用到过,但总是会对这些方法有点混淆,特别是substring()和substr(),连方法名都差不多,下面就具体来看一下区别。相同点这三个方法都可以对字符串进行截取,并且返回一个新的字符串,也就是不会对原字符串进行修改var a = '0123456789'a.substring(1,5)//"1234"var a = '0123456789'a.substr(1,5)//"1转载 2021-02-22 17:50:32 · 2001 阅读 · 0 评论 -
链表ListNode基本用法,力扣第2题,两数相加
1.问:什么是链表,链表和数组有什么区别答:链表也是一种数据结构,链表有指针2.问:链表的使用场景有哪些,用的多吗答:不多,几乎不用3.问:new ListNode(-1)和new ListNode(0)有什么区别答:一个值是-1一个是0以上问答是我站在前端的角度向公司后端同事咨询得到的答复,哈哈,如有不对的地方欢迎指正,不喜勿喷!一、定义先看下链表的结构,有链表的值域,指针域,和链表赋值的方法。public class ListNode{ // 链表的某原创 2021-02-20 21:47:29 · 7904 阅读 · 2 评论 -
曾国藩“六戒五勤”
第一戒:久利之事勿为,众争之地勿往第二戒:勿以小恶弃人大美,勿以小怨忘人大恩第三戒:说人之短乃护己之短,夸己之长乃忌人之长第四戒:利可共而不可独,谋可寡而不可众第五戒:天下古今之庸人,皆以一惰字致败天下古今之才人,皆以一傲字致败第六戒:凡办大事,以识为主,以才为辅凡成大事,人谋居半,天意居半一曰身勤:险远之路,身往验之;艰苦之境,身亲尝之。二曰眼勤:遇一人,必详细察看;接一文,必反复审阅。三曰手勤:易弃之物,随手收拾;易忘之事,随笔记载。四曰口勤:待.原创 2021-02-01 11:32:28 · 2285 阅读 · 3 评论 -
jq获取带有某属性值的元素
全局查找:1、$('*[name="username"]'):在前面加个*表示查找所有带有 name="username"的DOM;2、$('*[name]'):代表全局查找带有name属性的DOM,其实可以更简单的用$('[name]')就可以了; eg:$('[data-id]'); $($('*[data-id]')[1]).html = $($('*[data-id]')[1]).attr('data-id')。...转载 2020-10-28 18:28:47 · 5967 阅读 · 0 评论 -
react点击高亮,刷新页面对应到相应导航item高亮
页面上顶部导航栏,要实现1.点击到哪个就哪个高亮 2.刷新页面时可以定位到对应高亮页面的导航。用react要实现类似的操作,主要就是用currentTarget定位到currentIndex,通过判断currentIndex在哪个元素实现切换。实现思路:1.点击高亮给元素添加一个index标志位,然后点击的时候,把这个index用event.currentTarget.getAttribute('index')取出来,然后去设置currentIndex的值,再写一写css的active样原创 2020-08-07 14:53:22 · 2411 阅读 · 0 评论 -
条件查询,调用原生键软盘搜索按钮
html代码:<form action="javascript:;" id="searchFrom" onsubmit="searchList"> <input type="search" class="search-ipt" placeholder="请输入要搜索的内容" /></form>js代码:// 条件查询,调用原生键盘搜索按钮...原创 2020-03-09 20:43:02 · 164 阅读 · 0 评论 -
input标签capture属性不为人知的秘密
HTML5官方文档解释:capture属性用于调用设备的摄像头或麦克风。当accept=”audio/*或video/*”时capture只有两种值,一种是user,用于调用面向人脸的摄像头(例如手机前置摄像头),一种是environment,用于调用环境摄像头(例如手机后置摄像头)。当accept=”audio”时,只要有capture就调用设备麦克风,忽略user和environment值...转载 2020-03-09 19:27:13 · 7567 阅读 · 0 评论 -
FileReader()读取文件,h5调用原生相机拍照,FormData()上传服务器
公司最近在做一个h5嵌入原生的项目,其中有一个需求是在没有和原生交互的前提下,调用调用手机相机进行拍照,然后将照片上传后端。之前没接触过类似的需求,然后就感觉要调用移动端的硬件设备很是高大上;现在项目做完了复盘一看,发现其实不难,固定的方法固定的格式,然后结果就出来了。特此整理一篇文章,希望小伙伴能够少走坑。FileReader对象允许Web应用程序异步读取存储在用户计算机上的文件(或原...原创 2020-03-09 16:57:16 · 826 阅读 · 0 评论 -
移动端h5软键盘收起后界面返回到顶部 bug解决
将以下代码粘贴到页面底部script标签里边即可,亲测有效!// ios兼容 input输入时弹出键盘框 页面整体上移键盘框消失后在ios上页面不能回弹的问题$(document).ready(function(){ $("input").focus(function(){ this.scrollTop = document.scrollingElement.scrollTop;...原创 2020-03-09 15:05:10 · 1654 阅读 · 1 评论 -
微信二次分享时缩略图及描述信息丢失 问题解决
此问题出现在自定义微信分享标题及描述中,自定义微信分享需要配置公众号信息及调用微信开发者接口,这里不再赘述。注意:传过去的url地址跟wx.ready函数中shareData里面要分享的link链接要保持一致,否则会导致签名非法等问题。由于微信在分享出去之后会给链接自动加上from以及isappistalled这两个参数,证明该链接是通过分享过来的,由于这两个参数的影响,l浏览器打开时...原创 2020-02-25 16:22:33 · 1817 阅读 · 1 评论 -
后台收到微信重复请求问题,解决方案
首先描述下应用场景,公司有一个h5页面(不是公众号文章)需要在微信浏览器打开及转发朋友圈或转发给好友,正常转发后发现没有描述及缩略图信息,解决方案请参考这篇文章https://www.jianshu.com/p/67ada6e9007a,写的很详细很好,这里就不再细述,这里重点要说的是页面里边的接口莫名的被多次访问的问题。造成原因:可能是qq电脑管家类似的安全软件扫描的原因,对于未知域名的访问...原创 2020-02-25 15:53:33 · 1801 阅读 · 0 评论 -
js判定数独是否成立
数独判定规则:# 判断一个 9x9 的数独是否有效。只需要根据以下规则,验证已经填入的数字是否有效即可。# 数字 1-9 在每一行只能出现一次。# 数字 1-9 在每一列只能出现一次。# 数字 1-9 在每一个以粗实线分隔的 3x3 宫内只能出现一次。实现思路:1.判定每个数组是否存在重复数据2.行和列反转,组合成新的数组,然后再判定每个数组是否存在重复数据3....原创 2019-11-06 20:10:36 · 610 阅读 · 0 评论 -
vue苹果ios用webview 手机验证码自动填充两次bug
关键代码:<input pattern="[0-9]*" @input="changeauthCd" class="codeB" type="Number" v-model="thisForm.authCd" placeholder="请输入验证码">changeauthCd () { if (this.thisForm.authCd.length > ...原创 2019-11-05 15:43:27 · 2348 阅读 · 2 评论 -
element 的el-dialog 浮层嵌套,第二次弹出的会被遮住
困扰了很久的一个问题,就是用element-ui的浮层组件进行浮层嵌套时候,当子浮层关闭时,父级浮层上面会有一层灰色遮罩层当关闭子级浮层后,父级浮层上面会有一层灰色蒙层解决方式:父级浮层设置:modal-append-to-body="false"属性,同时在子级浮层设置:modal-append-to-body="true" append-to-body属性Element...原创 2019-10-29 14:35:00 · 9036 阅读 · 7 评论 -
为什么要前后端分离?各有什么优缺点?
一、前端前后端分离已成为互联网项目开发的业界标准使用方式,通过nginx+tomcat的方式(也可以中间加一个nodejs)有效的进行解耦,并且前后端分离会为以后的大型分布式架构、弹性计算架构、微服务架构、多端化服务(多种客户端,例如:浏览器,车载终端,安卓,IOS等等)打下坚实的基础。这个步骤是系统架构从猿进化成人的必经之路。核心思想是前端html页面通过ajax调用后端的restufu...转载 2018-10-23 15:49:12 · 1980 阅读 · 2 评论 -
vue Bus总线/发布订阅模式/观察者模式
有时候两个组件也需要通信(非父子关系)。当然Vue2.0提供了Vuex,但在简单的场景下,可以使用一个空的Vue实例作为中央事件总线。参考:http://blog.csdn.net/u013034014/article/details/54574989?locationNum=2&fps=1例子:https://segmentfault.com/q/1010000007491994...转载 2019-02-21 10:19:31 · 979 阅读 · 0 评论 -
node起一个本地服务器,可支持远程访问本地IP下的文件
本文将的是node起服务的相关操作因为要起一个服务,所以本地运行先要安装有node环境,node的安装需要小伙伴另行百度,这里没有相关介绍先上代码(下面是全部代码,代码不用看,直接复制粘贴就可用):文件命名为 file_server.js(必须是js文件,名称随意)"use strict";//静态文件服务器//加载所需要的模块var http = require('htt...原创 2019-03-09 15:50:46 · 3528 阅读 · 1 评论 -
h5点击事件在ios上无效的问题
为<span></span>绑定了click事件,嵌入ios app后点击无效解决方式:为span 添加css样式解决,元素变成了可点击的了cursor: pointer;转载 2019-03-20 15:05:27 · 3117 阅读 · 0 评论 -
toast弹窗 js
//界面toast提示/*使用方法 Toast('这是一个弹框',2000)*/function Toast(msg, duration) { duration = isNaN(duration) ? 3000 : duration; var m = document.createElement('div'); m.innerHTML = msg; m.style.cssText =...转载 2019-04-03 14:00:42 · 6341 阅读 · 3 评论 -
element-ui页面中使用row-class-name高亮指定行无效,去掉scoped就可以了
row-class-name的使用可以通过指定 Table 组件的 row-class-name 属性来为 Table 中的某一行添加 class,表明该行处于某种状态。Element UI 的Table组件踩坑记:参数row-class-name无效的坑:官方文档给出了如下代码:但是我使用后并没有出现预初想要第一行高亮的效果,然后console.log(row, rowI...原创 2019-10-11 19:14:16 · 6179 阅读 · 2 评论 -
requirejs规则
Requirejs1.requirejs.config:配置别名2.requirejs:引入之前的模块3.define:定义新的模块//通过config方法,使用jquery代替当前目录下的jquery.min.js名称,可使名称缩短//此处一般定义在main.js中requirejs.config({ paths:{ jquery: 'jquery....原创 2019-01-07 15:01:09 · 230 阅读 · 0 评论 -
SASS规则
1.嵌套相当于css中的后代选择2.$变量3.@mixin函数名(参数)相当于js中的函数的功能,就是将一小段代码进行封装,通过传递不同的参数达到不同的效果使用 @include 函数名(参数) 方法对函数进行调用4.@import可以通过@import引入其它的scss文件,相当于将额外的scss文件复制到当前文件5.@extend字面意思是继承,就是防止将...原创 2019-01-07 11:28:20 · 548 阅读 · 0 评论 -
js 循环 对象
let obj = { 'a':'aa', 'b':'bb', 'c':'cc', 'd':'dd' };for(let i in obj){console.log(i); //a b c dconsole.log(obj[i]); // aa bb cc dd}原创 2018-11-16 18:46:33 · 4858 阅读 · 0 评论 -
码云git常用指令
git add .: 把工作时的所有变化提交到暂存区,包括文件内容修改(modified)以及新文件(new),但不包括被删除的文件git commit -m 'desc': 将暂存区里的改动给提交到本地的版本库,-m表示描述,后边可加描述内容git push: 将本地分支的更新,推送到远程主机// git push origin dev// git pull origin ...原创 2018-11-15 17:37:59 · 230 阅读 · 0 评论 -
vue组件讲解(is属性的用法)模板标签替换
vue中is的属性引入是为了解决dom结构中对放入html的元素有限制的问题,譬如ul里面要接上li的标签,引入is的属性后,你完全可以写成这样<div class="language-html"> <ul> <li is="row"></li> </ul></div&原创 2018-11-06 20:13:57 · 6245 阅读 · 0 评论 -
better-scroll的基本使用
请点击better-scroll基本使用,查看文档,1024节日快乐!原创 2018-10-24 11:09:22 · 535 阅读 · 0 评论 -
javascript-js实现多线程
在讲之前,大家都知道js是基于单线程的,而这个线程就是浏览器的js引擎。首先来看一下大家用的浏览器都具有那些线程吧。假如我们要执行一些耗时的操作,比如加载一张很大的图片,我们可能需要一个进度条来让用户进行等待,在等待的过程中,整个js线程会被阻塞,后面的代码不能正常运行,这可能大大的降低用户体验,这时候我们就期望拥有一个工作线程来处理这些耗时的操作。在传统的html时代是基本不可能实现的,而...转载 2018-10-23 15:56:40 · 2790 阅读 · 0 评论 -
运行一个从GitHub上下载的vue项目的具体步骤
1.首先获取到设置信息2.找到克隆的路径(本步骤不包含下载.zip的方法)3.打开 Git Shell ->输入: cd ../../ ->输入: cd 想要安装的路径 ->输入:git clone https://github.com/Sioxas/vue-music.git ->回车4.输入:cd vue-music(文件名称) ->回车...转载 2018-10-12 10:32:37 · 6030 阅读 · 1 评论 -
js对象取值的两种方式
var obj = {abc:"ss",nn:90};var v1 = obj.abc;//使用点的方式var v2 = obj["abc"];//使用中括号的方式原创 2018-08-26 01:42:57 · 33107 阅读 · 0 评论 -
不定宽高的水平垂直居中
方法一:element.style { position: absolute; top: 50%; left: 50%; z-index: 3; -webkit-transform: translate(-50%,-50%); border-radius: 6px; background: #fff;} 方法二:elem...原创 2018-08-24 14:28:34 · 171 阅读 · 0 评论 -
DataTables在IE8下报'style' 为空或不是对象错误问题 , SCRIPT5007: 无法获取未定义或 null 引用的属性“style”
网页错误详细信息:消息: 'style' 为空或不是对象行: 5570字符: 5代码: 0检查后才发现,问题在于数组最后多了一个“,”,会造成Table列数计算时多了一列。在chrome和firefox下测试都正常,但在IE8下会出现此问题。 转载:https://blog.csdn.net/popper_di/article/details/78707762...转载 2018-08-06 16:03:58 · 5302 阅读 · 1 评论 -
jQuery 中 jQuery(function(){})与(function(){})(jQuery) 是什么意思?
Jquery是优秀的Javascrīpt框架。我们现在来讨论下在 Jquery 中两个页面载入后执行的函数。$(document).ready(function(){ // 在这里写你的代码...});在DOM加载完成时运行的代码可以简写成jQuery(function(){ }); (function($) {})(jQuery)什么意思?(fun...转载 2019-01-02 17:54:03 · 322 阅读 · 0 评论 -
vue组件库iView初始化npm run init 报错 iview TypeError [ERR_INVALID_CALLBACK]: Callback must be a function
运行npm run dev报这个错,什么办法都试了,删除项目下node_modules文件下,然后再次安装没有用,卸载nodejs,重新安装也没有用然后查看了下报错信息如下图标记: D:\iview\iview-admin-dev\build\webpack.dev.config.js:12:8然后找到D:\iview\iview-admin-dev\build\webpa...转载 2019-01-11 16:24:47 · 792 阅读 · 0 评论 -
.is(':animated')------判断元素是否处于动画状态
if(!this.$el.is(':animated')){ //当前元素没有进行动画时执行 this.$el.animate({ scrollTop: opts.dest }, opts.speed);}原创 2019-01-06 17:57:26 · 1509 阅读 · 0 评论 -
ArgumentError: invalid byte sequence in UTF-8 Use --trace for backtrace.
ArgumentError: invalid byte sequence in UTF-8 Use –trace for backtrace. 这个问题在用koala时遇到的 看到utf-8就要想到中文,然后后面有个trace,再想到是不是路径的中文有误,后来把要转化的scss文件放到另一个不带中文的路径就没报错了。...原创 2019-01-05 16:28:30 · 1275 阅读 · 0 评论 -
transform-origin子item居中显示
当对外层盒子进行旋转后,盒子里边内容跟着旋转了,但我们需要的是盒子里边的内容正常显示(不旋转),如下图:思路:在盒子里边内容上面包裹一层span标签,对内层的span进行逆向旋转(前提是在外层对内容进行居中显示,否则旋转基点不在外层盒子中心的话,将会导致内容不居中)部分代码参考如下:<div class="icon-group"> <span class=...原创 2019-01-04 18:48:30 · 1021 阅读 · 0 评论 -
window.open对storage有没有影响?
首先在浏览器开发者模式打印如下信息,设置storage存值sessionStorage.setItem('aaa','111')localStorage.setItem('bbb','222')新开一个浏览器窗口,在开发者模式打印窗口获取上一个窗口存储的值sessionStorage.getItem('aaa')localStorage.getItem('bbb')新开窗口获取...原创 2018-12-12 10:43:32 · 3262 阅读 · 0 评论 -
函数写法比较
那些需要使用函数表达式的场合,尽量用箭头函数代替。因为这样更简洁,而且绑定了 this。// bad[1, 2, 3].map(function (x) { return x * x;});// good[1, 2, 3].map((x) => { return x * x;});// best[1, 2, 3].map(x => x * x);[1...原创 2018-12-13 15:27:27 · 152 阅读 · 0 评论 -
js遍历语法的比较
以数组为例,JavaScript 提供多种遍历语法。最原始的写法就是for循环。for (var index = 0; index < myArray.length; index++) { console.log(myArray[index]);}这种写法比较麻烦,因此数组提供内置的forEach方法。myArray.forEach(function (value) ...原创 2018-12-13 14:20:47 · 147 阅读 · 0 评论