![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
javaScript
做一个有知识的流氓
平时读书少,人丑又胆小。
人懒惰久了,稍微努力一点点,就以为这就是拼命了。
展开
-
DOM事件探秘(一)DOM事件模型
DOM(文档对象模型)结构是一个树型结构,当一个HTML元素产生一个事件时,该事件会在元素节点与根结点之间的路径传播,路径所经过的结点都会收到该事件,这个传播过程可称为DOM事件流。DOM同时支持两种事件模型:冒泡型事件和捕获型时间事件冒泡:即事件最开始由最具体的元素(文档中嵌套最深的那个节点)接收,然后逐级向上传播至最不具体的那个节点(文档)。比如 事件流原创 2017-05-24 09:06:10 · 419 阅读 · 0 评论 -
Jquery代码组织方法优化
关于jQuery的代码,以前都是直接取节点,绑事件一把梭,但是这样子会使代码很乱不方便维护。今天介绍一个新的代码组织形式实现看原代码 $(function () { //切换bananer $('.bar-item').click(function () { $(this).attr('class', "bar-item ...原创 2018-09-23 09:15:28 · 327 阅读 · 0 评论 -
JS文件上传以及进度条实现
JS文件上传,依靠<input type="file">这个标签可以完成文件上传的操作,这里就不细说,这里主要说一下进度条的实现。想要实现进度条我们需要了解一个对象 XMLHttpRequest ProgressEvent接口这个接口有3个属性,都是只读的。ProgressEvent.lengthComputable 表示当前的工作是否是可测量的,如果为fal...原创 2018-09-05 10:56:52 · 15734 阅读 · 4 评论 -
JS中style.width和offsetWidth的比较
style.width 获取的元素宽度只是div的宽度,不包括border、和padding所占的宽度,且其值是带单位px的。 只能获取在行内式CSS所添加的width offsetWidth offsetWidth 获取的元素宽度为width+border+padding的值(不包括margin),且返回值只为一个数值,不带单位。 可以获取所有的方式(...原创 2018-09-04 11:40:26 · 271 阅读 · 0 评论 -
vue项目打包为APP,静态资源正常显示,但API请求不到数据
Vue项目通过Hbuild打包为APP后,静态文件正常显示,但并没有请求到数据的接口。这是为什么?在打包前在浏览器测试时是能正常显示数据的,而APP中静态文件、布局样式显示正常,所以我把问题定位到了接口通信上。APP并没有跨域,不存在跨域一说。我在开发的时候,给项目设置代理来跨域config下的index.js比如这个proxyTable: { '/api':{ ta...原创 2018-08-17 20:30:22 · 9054 阅读 · 7 评论 -
JS && 和 || 的一次应用
场景:后台返回同一个表的数据,但有时数据是data[{a:1}]数组形式,有时是{a:1}的对象形式这里我就写了个if-else if(dconstructor ===Object){ 业务代码}else{ 业务代码}但群里大佬指定,说绝不写无用代码,在大佬的指点写,我改用了逻辑运算符 // var tmp=data.constructor ===Obj...原创 2018-07-25 23:24:45 · 441 阅读 · 0 评论 -
网页Loding效果的实现
想要实现loading效果,实现得了解两个文档属性1、document.onreadystatechange //页面加载状态改变2、 document.readyState //该属性描述了文档的加载状态。这两个属性的具体信息在这里就不赘述了,文档里有详细的解说。下面直接上网页loading的实例1、gif图显示loding效果<!DOCTYPE html><htm...原创 2018-07-03 10:12:11 · 4049 阅读 · 0 评论 -
js中的'=='的隐式转换
js中的不同的数据类型之间的比较转换规则如下:1. 对象和布尔值比较对象和布尔值进行比较时,对象先转换为字符串,然后再转换为数字,布尔值直接转换为数字[] == true; //false []转换为字符串'',然后转换为数字0,true转换为数字1,所以为false2. 对象和字符串比较对象和字符串进行比较时,对象转换为字符串,然后两者进行比较。[1,2,3] == '1,2,3' // ...转载 2018-06-19 15:13:54 · 268 阅读 · 0 评论 -
jquery常用方法总结
转载自:https://blog.csdn.net/yl2isoft/article/details/54427694取值与赋值操作$("#ID").val(); //取value值$("#ID").val("xxx"); //赋值$("#ID").text(); //相当于取innerText$("#ID").text(""); //相当于赋值给innerText$("转载 2018-06-23 13:28:51 · 711 阅读 · 0 评论 -
动手写一个jquery插件(实践)
自己实践写一个基于jquery的tab插件,面向对象的写法这里我就不写index.html,和index.css了,主要就是分析插件代码tab.js代码我上传到github上了,如果你们想看DOM结构及CSS样式的话,可以去把源码下来看看github地址:github地址目录结构:index.html,index.css以及tab.js基本结构搭建首先搭建一个jquery插件的框架tab.js;(...原创 2018-06-20 20:47:44 · 223 阅读 · 0 评论 -
报错TypeError: $(...).live is not a function解决方法
报错的原因是这个方法在jquery1.7以后就被废除了,1.7以后的版本改用.on()方法之前的用法:.live(events, function) 新方法:.on(eventType, selector, function)例子:之前:$('#myid').live('click', function{ alert原创 2018-01-09 19:25:18 · 18482 阅读 · 3 评论 -
JS,jquery 无法获取到动态插入的元素
今天用jquery动态插入两个li,但是在后面的代码中无法获取到创建的节点。解决方法:jquery1.7之后用on()方法,1.7之前用live(),可以为未来创建的元素绑定事件.$("body").on("click","#myid",function(){ alert(1)});原创 2018-01-09 19:20:36 · 7916 阅读 · 4 评论 -
ajax登录第一次没有post成功,第二次post成功了
当我第一次点击登录的时候,从控制台看到没有post请求,但后台却打印出了账号和密码,同一个页面不刷新,我第二次点登录的时候,控制台就有post请求了,而且账号验证的代码也能正常运行我这个情况比较奇葩,后来仔细检查代码,发现是我的前端登录页面,form 标签 的action属性还在,当我点击登录的时候数据会先走form标签的action路径,所以post提交失败...原创 2018-01-04 19:34:00 · 4098 阅读 · 1 评论 -
JS的预解析和作用域浅析
作用域:域:空间、范围、区域就是一个域。script :全局变量,全局函数,自上而下函数也可以看成是一个域:作用:读、写简单的说就是:在什么空间范围内,你可以对你的数据进行读写操作。浏览器与JS:浏览器中有“JS解析器”来解析JS代码"JS解析器"至少会做两连事(注意是至少,不是只做两件事)alert(a)原创 2017-05-29 14:12:29 · 433 阅读 · 0 评论 -
JS面试题集锦及解析(个人向)
1 、var a=10;function test(){ a=100; console.log(a); console.log(this.a); var a; console.log(a);}test();//输出: 100 10 100这道题目是考察对变量声明提升的理解 和 this关键字的指向性问题。首先是变量提升,在JS中,使用...原创 2018-10-09 11:42:06 · 2857 阅读 · 2 评论