Javascript

JS监听页面关闭

JS可以监听浏览器页面的关闭,主要使用了window对象的onbeforeunload方法在以前(旧版本的浏览器中),可以自定义提示文案window.onbeforeunload=function(e){varmessage='someword';e=e||window.event;if(e){e.returnValu...
代码星球·2020-06-16

JS设置CSS样式的几种方式

用JS来动态设置CSS样式,常见的有以下几种 1.直接设置style的属性 某些情况用这个设置!important值无效如果属性有'-'号,就写成驼峰的形式(如textAlign) 如果想保留-号,就中括号的形式 element.style['text-align']='100p...

无聊的人用JS实现了一个简单的打地鼠游戏

直入正题,用JS实现一个简单的打地鼠游戏因为功能比较简单就直接裸奔JS了,先看看效果图,或者 在线玩玩 吧 如果点击颜色比较深的那个(俗称坏老鼠),将扣分50;如果点击颜色比较浅的那个(俗称好老鼠),将得分100 老鼠好像有点难画,又不想用图片,就直接用CSS画个简单的图代表老鼠...

JS实现简易的计算器

JS可以做的事多了,那就用来实现一个计算器吧 看看手机中的计算器,分为普通计算器和科学计算器   自认脑袋不够大,就实现一个普通版本的吧(支持正负数加减乘除等基本连续的运算,未提供括号功能)看看图示效果,或 在线演示 1+1=?正常来说,我们看到这个表达式都知...
代码星球·2020-06-16

表单input项使用label,同时引用Bootstrap库,导致input点击效果区增大

产品姐姐想法多,点击input项才能聚焦进行操作,点击外部不能有反应好了。。。直入正题为了让标签更加语义化,在表单项中,我们往往会使用label进行包裹<labelfor="label-input"><inputtype="text"class=""id="label-input"><br...

JS的toFixed方法设置小数点位数后再进行计算,数据出错问题

这个应该算作失真,或者也不算。情况就是用了toFixed后再进行相关计算,得不到预期的结果具体看例子比如想动态计算百分比,保留一位小数如94.4%这样子varblobTo=409600;vartotalSize=433927;varpercent=(blobTo/totalSize).toFixed(3)*100;pe...

移动端手势库Hammer.js学习

感觉移动端原生支持的 touch、tap、swipe 几个事件好像还不够用,某些时候还会用到诸如缩放、长按等其他功能。近日学习了一个手势库 Hammer.js,它是一个轻量级的触屏设备手势库,能识别出常见的触摸、拖动、长按、缩放等行为。 依照 官方文档,开始学习吧&nb...

JS 中 this上下文对象的使用方式

JavaScript有一套完全不同于其它语言的对 this 的处理机制。在五种不同的情况下,this 指向的各不相同。有句话说得很在理--谁调用它,this就指向谁 一、全局范围内在全局范围内使用this,它将指向全局对象(浏览器中为window)varname='name1';...

JS 的 call apply bind 方法

js的callapplybind方法都很常见,目的都是为了改变某个方法的执行环境(context) callcall([thisObj[,arg1[,arg2[,  [,.argN]]]]])thisObj可选项。将被用作当前对象的对象。arg1,arg2,argN..可选项。将被传递方法...
代码星球·2020-06-16

JS 跨域问题常见的五种解决方式

要理解跨域问题,就先理解好概念。跨域问题是由于javascript语言安全限制中的同源策略造成的.简单来说,同源策略是指一段脚本只能读取来自同一来源的窗口和文档的属性,这里的同一来源指的是主机名、协议和端口号的组合.URL说明是否允许通信http://www.a.com/a.jshttp://www.a.com/b.j...

Node.js爬虫数据抓取 -- 问题总结

一 返回的信息提示 Somethingwentwrong request模块请求出现未知错误其中,所用代码如下(无User-Agent部分)问题多次派查无果,包括:  1:postman请求正常  2.curl请求正常   解决办法:为请求添加user-agent头,如取消上注释...

关于 CommonJS AMD CMD UMD 规范的差异总结

一、CommonJS 主要是用于服务器端的规范,比如目前的nodeJS.根据CommonJS规范,一个单独的文件就是一个模块。每一个模块都是一个单独的作用域,也就是说,在一个文件定义的变量(还包括函数和类),都是私有的,对其他文件是不可见的。//foo.jsvarrequest=require('reques...

RequireJS 模块化加载框架使用

RequireJS 是一个遵循AMD规范的模块化加载框架与上文seajs一样,这里简单介绍其相关用法 同样的,首先是下载好require.js--> http://requirejs.org/docs/download.html#requirejsAMD规范是预加载,也就是说会马上将...

SeaJS 模块化加载框架使用

SeaJS是一个遵循CMD规范的模块化加载框架CommonJS,CMD,AMD等规范后文会提到,这里主要先了解如何在代码中使用。 如果你有使用过nodejs,那么理解起来就容易多了。 我们通过sea.js来加载我们定义的模块(这会儿遵循CMD规范)并使用相应的数据。首先,当然是要下载sea.js,可...

JS 数组去重(数组元素是对象的情况)

js数组去重有经典的几种方法但当数组元素是对象时,就不能简单地比较了,需要以某种方式遍历各值再判断是否已出现。因为:1.如果是哈希判断法,对象作哈希表的下标,就会自动转换成字符型类型,从而导致所有元素都相等,这时判断方法不再有意义。一般最后数组就只剩一个2.如果是直接比较法,则因为对象在内存中是按引用访问的,属性值相同...