javascript

利用字符串替换函数方便拼接html

//利用stringReplace方法可以方便拼接html var stringReplace = (function(){ function isArray(arr) { return Object.prototy...

setInterval最小时间间隔在不同浏览器上的区别

setInterval的时间间隔单位是毫秒,MDN上提到如果间隔小余10,则使用10,但像在iOS手机上甚至无法10毫秒触发一次。如果在做计数器这类程序的时候,希望显示2位毫秒位的话,因为iOS无法10毫秒触发一次,所以下面代码在iOS上会...
zhimo 发布于 3个月前 187

js判断当前页面是否失去焦点(切换标签页)

页面上有些比较消耗资源的操作,比如动画,最好在标签页切换的时候暂停,再切换回来后恢复, 如下代码实现了这个操作,利用document.hidden属性判断当前页面的可见性,同时也利用了visibilitychange事件 var tabPa...

event.preventDefault解决点击效率问题

最近在做跑步小游戏的时候,按左右脚按钮人就会跑起来,并且旁边会有秒表在计时。 但当左右脚按钮点得快了之后,秒表就走得特别慢,后来排查出来因为按钮是一个a标签,在touch事件的时候没有加event.preventDefault,加了之后就正...
zhimo 发布于 3个月前 203

输出含有❤字符的长度

问题起因: 需要输出一个字符串长度 var s = "❤"; console.log(s.length); //期待输出1,实际输入为2 这是针对这种问题的一个js解决方案,描述了如何正确输出含有该种类型字符的字符串长度。这是关于字符集和u...
lynxerzhang 发布于 7个月前 343

js控制文本中指定字段颜色

window.utils = window.utils || {}; (function(){ 'use strict'; var STYLE_HELP_ARY = []; var STYLE_REG = /{(.*...
lynxerzhang 发布于 10个月前 415

JavaScript控制声音播放

在H5游戏页面中播放像射击音效的时候,通常情况下这类声音比较短,需要声音根据点击触发不断播放,如果只是下面这段代码,会出现声音播放的间隔,“哒...哒...哒” sound.play(); 而下面这个代码就是把播放的当前时间重置到起点再播放...
zhimo 发布于 10个月前 413

一个解决swfobject.js嵌入swf文件无法播放的方案

搜索后发现可能的原因是在Chrome 55之后, swfobject.js无法获取某些所需的浏览器属性,导致它检测用户的flashplayer的版本号出现问题,嵌入swf的代码块无法执行,如果需要继续使用swfobject.js来嵌入swf...

Chrome模仿双指缩放页面

Js手机下手势处理库Hammer提供了一个js库emulator.js来模拟双指缩放 复制下面代码,在Chrome新建一个书签,然后把代码粘贴在书签的URL输入框内,下次需要模拟多指缩放的时候,把Chrome的开发工具切换到手机模式,在打开...
zhimo 发布于 1年前 400

在ie9下兼容Range的createContextualFragment方法

在developer console中发现Range的createContextualFragment在ie9下不支持,导致插入表情的功能无效。 //... var df; if(range.createContextualFragment...

JS中RGB数值转换Hex

class Colorutil { //RGBtoHex方法将r,g,b数值转换为#hex形式 static RGBtoHex(r, g, b) { let hex = r << 16 | g << 8...

js keyboardManager demo

//如下demo使用es5语法编写(实现一个js版的KeyBoardManager,该KeyBoardManager的实现参考自https://github.com/richardlord/Actionscript-Toolkit) //...

文本框粘贴纯文本

在如下文本框内粘贴的话,可能会带上被复制文本的样式,导致输入框样式错乱 <div contenteditable></div> 解决办法 document.querySelector("div[contentedit...
xtigerj 发布于 1年前 248

nodejs 写入内容到文件

通过原生file system var fs = require('fs'); fs.writeFileSync('path/to/file.txt', 'hello'); 通过原生的方式,目录必须已存在,不然会报错,但是文件本身可以不存在...
harry 发布于 1年前 230

把JS对象转换成json格式

var obj={"name":"Mr. Wang"}; JSON.stringify(obj); // '{"name":"Mr. Wang"}'...
xtigerj 发布于 1年前 157

JS 如何正确使用encodeURI和encodeURIComponent

encodeURI是把URL中的路径和文件名中的特殊字符或非英文字符进行转意 encodeURI("https://www.mokiee.com/路径/中 文.html"); // => https://www.mokiee.com/...
xtigerj 发布于 1年前 173

针对手机浏览器,防止网页后退缓存的方法

手机浏览器中为了优化页面显示速度,通常在点后退按钮时,页面一般都是从缓存直接显示出来,也就是把之前整个页面的状态直接显示回来。 当我们希望点返回后,页面可以重新初始化,我会使用以下代码的技巧: window.onpageshow = fun...
harry 发布于 1年前 246