解决JS浮点数(小数)计算加减乘除的BUG

Posted By admin   |   已有 1 条评论   |   Date: 2018-08-07 23:04:25

/****************************************解决JS浮点数(小数)计算加减乘除的BUG Start****************************************/ /** ** 加法函数,用来得到精确的加法结果 ** 说明:javascript的加法结果会有误差,在两个浮点数相加的时候会比较明显。这个函数返回较为精确的加法结果。 ** 调用:accAdd(arg1,arg2) ** 返回值:arg1加上arg2的精确结果 **/ function accAdd(arg1, arg2) { if (isNaN(arg1)) { arg1 = 0; } if (isNaN(arg2)) { arg2 = 0; } arg1 = Number(arg1); arg2 =...

HTML5 File API — 让前端操作文件变的可能

Posted By admin   |   已有 0 条评论   |   Date: 2018-05-11 10:57:59

在 HTML5 File API 出现之前,前端对于文件的操作是非常有局限性的,大多需要配合后端实现。出于安全角度考虑,从本地上传文件时,代码不可能获取文件在用户本地的地址,所以纯前端不可能完成一些类似图片预览的功能。但是 File API 的出现,让这一切变成了可能。 跟着楼主由浅入深,了解下强大的 File API 吧。 FileList FileList 对象针对表单的 file 控件。当用户通过 file 控件选取文件后,这个控件的 files 属性值就是 FileList 对象。它在结构上类似于数组,包含用户选取的多个文件。如果 file 控...

grunt-contrib-uglify 兼容支持ie6-8的解决方案

Posted By admin   |   已有 0 条评论   |   Date: 2017-03-07 01:39:16

新版本 uglify.options.screwIE8 默认为true,设置 screwIE8 为 false即可: Gruntfile.js 代码如下 module.exports = function(grunt) { function getFilePath(f){ return "static/js/lib/" + f + ".js"; } grunt.initConfig({ pkg: grunt.file.readJSON('package.json'), uglify : { options: { //添加banner banner: '/*! spa-lib-v1.0.0.js - <%= grunt.template.today("yyyy-mm-dd") %> */\n', ...

Three.js - 一个优秀的WebGL开源框架

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-03 00:15:40

首先,看下效果页面,感受一下。点我 是不是有点炫咧,这就是运用WebGL简单实现的效果,下面我们一起来看看代码吧。 Three.js 一个优秀的WebGL开源框架,官网地址https://github.com/mrdoob/three.js。点进去你会发现有好多酷炫的效果,而且基于这个库可以快速地写出3d程序。上面的镇魔曲手游官网的云海效果就是基于three.js实现的。 刚开始接触到Three.js,好多东西都是一头雾水的,然后官网的文档说明又是英文,阅读起来实在困难。在此强烈推荐一个中文基础教程,个人觉得对各种术语以及图形的构造和渲染理解起来相对简...

关于图片垂直居中的几个方法

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-03 00:06:56

偶尔会有这样的需求:在不知道图片宽和高情况下,需要让图片水平和垂直居中在某个容器下,而且,如果图片宽或者高超出容器,需要按照比例进行缩放,下面介绍几个常见的方式 Javascript篇 用JS的方式处理解决图片,思路就是预加载图片,然后取宽和高,计算位置,设置margin值,达到目的 //计算图片居中位置的信息 function getImgSize(img,maxWidth,maxHeight){ var ratio, picW = img.width, picH = img.height, wRatio = maxWidth / picW, hRatio = maxHeig...

index总结和移动兼容问题

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-03 00:01:31

做项目经常要用到index,关于index的几种用法,常常感到困惑。总结了一下,在这里列出来分享下。 1、index索引问题 <div id="nav">     <a href="#">建站素材</a>     <p>建站素材</p>     <a href="#">jquery特效</a>     <a href="#">懒人主机</a> ...

自定义命令行工具基于Nodejs

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-03 00:00:36

每个人都会做一些简单的小工具去方便自己平时的工作,比如批处理文件。写个有界面的工具吧,有点费劲和没必要;如果能在命令行里面敲几个简单命令就能完成,就方便很多了,而我们又是前端开发,基于nodejs,学习的门槛就更低了 一、前期准备 需要下载两个node的插件: liftoff (执行命令行插件) minimist (读取命令行参数插件) 二、文件夹结构 需要将文件内容保存在指定文件夹才有效:windows用户一般为在C:\Users\用户名\AppData\Roaming\npm npm |--hello.cwd  //windows下的命令入口文件(自...

即时监听输入框值的变化

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-02 23:58:25

最近做项目涉及到textarea限制输入长度的问题,搜集整理下跟大家分享: 如果需要即时监听输入框值的变化,建议使用onpropertychange事件! onpropertychange事件,顾名思义,就是property(属性)change(改变)的时候,触发事件。这是IE专有的!如果想兼容其它浏览器,有个类似的事件,oninput! JS写法: function immediately() {     var element = document.getElementById("mytext");    &nb...

js获取上传图片文件的url-getObjectURL

Posted By admin   |   已有 0 条评论   |   Date: 2016-06-02 23:57:23

前端做做图片上传功能时,经常想上传完后可以直接预览,这时候通常有两种方式,一种就是转成base64编码,然后展示出来。 当然还有另外一种方式,那就是用getObjectURL实现: function getObjectURL(file) { var url = null ; if (window.createObjectURL!=undefined) { // basic url = window.createObjectURL(file) ; } else if (window.URL!=undefined) { // mozilla(firefox) url = window.URL.createObjectURL(file) ; } else if (window.webkitURL!=undefined) { // webkit or chrome...

Javascript:history.go()和history.back()的用法和区别

Posted By admin   |   已有 0 条评论   |   Date: 2016-05-21 11:59:44

Javascript:history.go()和history.back()的用法和区别 简单的说就是:go(-1): 返回上一页,原页面表单中的内容会丢失;back(): 返回上一页,原页表表单中的内容会保留。 history.go(-1):后退+刷新 history.back():后退 之所以注意到这个区别,是因为不同的浏览器的后退行为也是有区别的,而区别就跟Javascript:history.go()和history.back()的区别类似。 chrome和ff浏览器后退页面,会刷新后退的页面,若有数据请求也会提交数据申请。类似于 history.go(-1) 而safari(包括桌面版和ipad版本)的后退按钮则不会刷新页面,也...