分类 JavaScript 下的文章
-
自定义命令行工具基于Nodejs
每个人都会做一些简单的小工具去方便自己平时的工作,比如批处理文件。写个有界面的工具吧,有点费劲和没必要;如果能在命令行里面敲几个简单命令就能完成,就方便很多了,而我们又是前端开发,基于nodejs,学习的门槛就更低了 一、前期准备 需要下载两个node的插件 liftoff (执行命令行插件) minimist (读取命令行参数插件) 二、文件夹结构 需要将文件内容保存在指定文件夹才有效:windows用户一般为在C:\Users\用户名\AppData\Roaming\npm npm |--hello.cwd //windows下的命令入口文件(自定......
-
即时监听输入框值的变化
最近做项目涉及到textarea限制输入长度的问题,搜集整理下跟大家分享: 如果需要即时监听输入框值的变化,建议使用onpropertychange事件! onpropertychange事件,顾名思义,就是property(属性)change(改变)的时候,触发事件。这是IE专有的!如果想兼容其它浏览器,有个类似的事件,oninput! JS写法: function immediately() { var element = document.getElementById("mytext"); if (/msie/i.test(naviga......
-
关于图片垂直居中的几个方法
偶尔会有这样的需求:在不知道图片宽和高情况下,需要让图片水平和垂直居中在某个容器下,而且,如果图片宽或者高超出容器,需要按照比例进行缩放,下面介绍几个常见的方式 Javascript篇 用JS的方式处理解决图片,思路就是预加载图片,然后取宽和高,计算位置,设置margin值,达到目的 //计算图片居中位置的信息 function getImgSize(img,maxWidth,maxHeight){ var ratio, picW = img.width, picH = img.......
-
简单梳理下最近项目遇到的某些bug或者事件不支持情况,和解决方法。
1、JQ监听输入框value值改变事件(propertychange),浏览器之间的差异。 a:js赋值给输入框时,google浏览器不触发propertychange,IE可以触发,所以这里处理下 解决:加下判断浏览器,js赋值不触发时,使用trigger("propertychange")触发 js代码: $('.dj input').bind('input propertychange', function() { if(val > 70){ alert("最大值是70,不能超过最大值"); ......
-
初探关于ajax多个请求,但需要全部完成后才能执行的方法
本文主要总结一下需要等待多个ajax请求完成后再执行操作的方法 最近在做一个英雄榜项目遇到一个问题,需要用到6次Ajax来获取各个榜单的数据再进行操作。 一、ajax嵌套ajax,传说中的嵌套金字塔,以及这种方式只能串联发起ajax请求 function getDataFun(){ $.ajax({url: "/equip_rank",type:'GET',dataType:'jsonp',success: function(data1){ $.ajax({url: "/score_rank&......
-
常用js汇总
这里收集了一些常用的js代码,拿出来跟大家分享 判断图片是否加载完 有时候你可能需要检查图像是否已经加载完成,以便继续执行相应的js代码 function loadImage1(url,callback){ var img = new Image(); img.onload = function(){ //图片加载完成后执行的操作 } img.src = url; } 图片按某个尺寸等比缩放 function img1(picW,picH,maxWidth,maxHeight){ var Ratio, wRat......
-
解决ios下的微信/易信打开的页面背景音乐无法自动播放
20160314更新 后面的项目发现,还有两个坑,需要注意下: 本文的解决方案的核心是利用了 微信/易信 在ready的时候会有个 WeixinJSBridgeReady/YixinJSBridgeReady事件,通过监听这个事件来触发的。那有个坑就是 如果微信已经ready了,但还没执行到你监听这个ready事件的代码,那么你的监听是没用的,所以监听的js一定要放在head前面(放在css外链之前),确保最先执行,切记!切记!。 另一个坑就是,本文的解决方案只适合一开始就播放的背景音乐。如果你是做那种微信场景(打开页面模拟收到很多条微信,每条微信都要播放那段音效),实际上本文的......
-
一个通用广告脚本数据加载的容错
最基本的需求 写一个通用的广告脚本文件,传递不同的广告ID,加载对应的数据出来,上报数据,最后显示出来 最简单的做法 每个站点,直接请求广告地址,带上不同参数,例如这样: var script = document.createElement("script"); script.src = 'ad.com?id=id1&callback=cb'; document.body.appendChild(script); function cb(param){ //do something ......
-
input.focus()在IOS上失效的解决方法
之前在iphone上做开发时遇到一个问题,在一般的正常浏览器上输入以下代码: var apple = document.getElementById('abc'); apple.focus(); 就能将焦点聚集在输入框上;但是在ios上不行 解决方案1: 只有通过绑定在事件上的函数触发,才能聚焦,例如: var apple = document.getElementById('abc'); button.addEventListener('click',function(){ apple.focus(); }); 但是不能将apple.focus()封装在函数中再由事件触发,......
-
微信屏蔽跳去App Store链接的解决方法
微信分享到朋友圈的页面带有跳去app store下载的链接被微信屏蔽 ,解决方法: 用微信自带的跳转处理 http://mp.weixin.qq.com/mp/redirect?url=xxx ,其中url参数代表需要跳转的链接,比如 http://mp.weixin.qq.com/mp/redirect?url=http://dl.crazynote.net/downloads/qr 案例:http://www.crazynote.net/christmas/m/
-
判断运动/方向传感器方法
判别运动传感器数据 if (window.DeviceMotionEvent) { window.addEventListener('devicemotion', deviceMotionHandler, false); } DeviceMotionEvent主要是监听设备加速度,监听设备x(横向方向)的运动频率,y(纵向方向)的运动频率和z(垂直方向)的运动频率 计算加速度时,只需在特定时间内用各个方向的值减去初始值除以时间: speed = Math.abs(x + y + z - last_x - last_y - last_z) / time ......