自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

fanhaiwang520的专栏

前端技术

  • 博客(88)
  • 收藏
  • 关注

转载 前端若干模板介绍对比

“模板”这个词,可能很多人第一印象是后端的技术(Smarty,Velocity等),但本文要讲的却不是后端的概念,而是前端开发中所使用到的一种技术,也就是“前端模板”技术。模板的工作原理可以简单地分成两个步骤:模板解析(翻译)和数据渲染。这两个步骤可分别部署在前端或后端来执行。如果都放在后端执行,则是像Smarty这样的后端模板,而如果都放在前端来执行,则是我们要探讨的前端模板。问题

2013-05-10 15:45:31 944

原创 hashchange实现ajax无刷新回退

hashchange,一提hash前端GG、MM们都不稀奇,但是hashchange就鲜有人知了在一次面试过程中面试官问道这么样实现ajax回退,这个问题当时闷了,下面附上具体代码,以备后用: changevar i=0, url; var show = function(num) { if (num == 0) {

2013-05-09 18:57:19 1899

原创 less用法介绍

less的语法在此就不错介绍了,参考官网  http://www.lesscss.net/less的强大主要是可以简化前端css开发流程,前端开发更加的便捷,模块划分可以更加的细致,最后压缩所有需要的less文件即可首先需要安装node,less每一个页面都有个主css入口,这个css文件是通过less文件解析而来,这个less文件@import若干个必要的le

2013-05-09 10:32:11 811

转载 node究竟是什么?

简介如果您听说过 Node,或者阅读过一些文章,宣称 Node 是多么多么的棒,那么您可能会想:“Node 究竟是什么东西?” 即便是在参阅 Node 的主页之后,您甚至可能还是 不明白 Node 为何物?Node 肯定不适合每个程序员,但它可能是某些程序员一直苦苦追寻的东西。为试图解释什么是 Node.js,本文将简要介绍一些背景信息:它要解决的问题,它如何工作,如何运行一个

2013-05-03 10:28:11 767

原创 跨域解决方案整理

1. window.domain应用场景:主域相同,子域不同;办法:请求和被请求资源同时设置window.domain为相同主域名称,请求页面创建iframe地址指向被请求页面地址,当iframe加载成功后就可以读取被请求页面内资源;2. 创建script(jsonp)原理:浏览器跨域限制不能限制加载别的域名下的js文件,所以可以通过动态创建script标签的形式在scri

2016-04-09 13:49:20 441

原创 倒计时

var remainTime = Date.parse('2016/01/01'); var minites = 1000 * 60; var hours = minites * 60; var days = hours * 24; setInterval(function () { var nowGetTime = new Date().getT

2015-03-08 16:47:15 626

原创 JSON.stringfy

if (!window.JSON) { window.JSON = { stringify: function (vContent) { if (vContent instanceof Object) { var sOutput = ''; if

2015-02-01 20:39:56 823

原创 javascript之Array

1. concat  链接两个或者多个数组,并返回数组结果。    参数可以是各种类型的,即:数字、字符串、function、Eegexp等,但是返回的绝对是一个一维数组,并且用来链接的数组不会变;2. pop 数组末尾删除一项,并且返回被删除的项,与shift相对应;3. shift 数组第一项被删除,并且被返回,与pop对应;4. push 在数组最后添加一项或者多项,并且返回

2014-12-10 16:48:45 466

原创 预防XSS

filterXSS: function (str) { if(typeof(str)!='string') return str; str=str.replace(/</g, "<"); str=str.replace(/>/g, ">"); str=str.replace(/\"/g, """); str=str.replace(/\'/g, "'")

2014-12-08 17:45:13 12227

原创 数字转换为二进制

function get2bin(num){ var bin = ""; while (num > 0) { if (num%2 != 0) { bin = "1" + bin; } else { bin = "0" + bin; }

2014-09-13 15:35:41 1883

原创 插件规范定义

/* * Support for AMD, CMD */;(function( window, document, undefined ) {(function( factory ) { "use strict"; if ( typeof define === 'function' && define.amd ) { // Define as an A

2014-08-28 10:43:32 770

转载 浏览器检测IE(6、7、8、9、10)、chrome、ff、opera、safari、iOS、android

var d = {}; d.haspointerlock = "pointerLockElement" in document || "mozPointerLockElement" in document || "webkitPointerLockElement" in document; d.isopera = ("opera" in window); d.i

2014-06-17 10:05:46 1277

原创 获取鼠标坐标

function mousePos(e){ var x,y; var e = e||window.event; return { x:e.clientX+document.body.scrollLeft+document.documentElement.scrollLeft, y:e.clientY+document.body.scrollT

2014-04-01 11:14:11 459

原创 原生js实现class的添加和删除

function hasClass( elements,cName ){ return !!elements.className.match( new RegExp( "(\\s|^)" + cName + "(\\s|$)") ); }; function addClass( elements,cName ){ if( !hasClass( elements,cNa

2014-03-24 16:06:30 20947

原创 nodeJS模块写法入门

node本身有自己的模块,比如http、fs、path、url等等,也可以自己编写适合自己的模块。本文将介绍如何编写自己的简单的模块:我们知道每个模块对应一个js文件,这篇写一个最简单的模块hello.js, 然后在另一个js文件(main.js)中require自定义的模块。hello.jsfunction hello(name) { console.log('h

2013-09-26 10:24:08 941

原创 js获取随机颜色

收集一个函数:获取随机颜色值function getRandomColor(){ return "#"+("00000"+((Math.random()*16777215+0.5)>>0).toString(16)).slice(-6);}

2013-09-22 11:46:33 920

原创 一种判断高级浏览器的方法

高级浏览器IE9+、chrome、firefoxvar _isNewEngine = 'ddd     '.trim;if(isNesEngine){}

2013-07-11 11:44:58 601

原创 iframe高度自适应

function iFrameHeight(){ var iframe = document.getElementById("iframeContain"); iframe.height = 0; try{ var bHeight = iframe.contentWindow.document.body.scrollHeig

2013-07-04 17:54:05 523

原创 web开发人员需知的web缓存知识

地址:http://www.oschina.net/news/41397/web-cache-knowledge

2013-06-16 16:23:27 451

原创 http协议详解

地址:http://www.cnblogs.com/TankXiao/archive/2012/02/13/2342672.html#statecode

2013-06-16 16:22:07 430

原创 截取location.search,转换为一个对象

截取location.search,转换为一个对象:function formatSearch(se){ if (typeof se !== "undefined") { se = se.substr(1); var arr = se.split("&"),

2013-05-31 09:27:51 2669

原创 格式化数字(123456789-->123,456,789)

show一段格式化数字的代码,主要用于money /** * 格式化数字 123456789-->123,456,789 * @param number * @return string */ function reverseNum(num){ if(typeof num !== "undefined"){

2013-05-29 14:05:33 2698 1

原创 apache各种版本msi文件下载地址

吐血啊,找半天:http://archive.apache.org/dist/httpd/binaries/win32/

2013-05-24 23:45:27 7060 1

原创 bug总结-ie7下两列布局,右侧不能设置width100%

以上代码发现在ie7下边右侧div会跑到下边去,原因就是右侧div设置了width:100%,将width:100%去掉即可;

2013-05-22 17:23:04 1580

原创 三列布局设计

方法一: Document body{ margin:0; padding:0; min-width:600px; } .main{ float:left; width:100%;

2013-05-20 16:37:41 481

原创 负margin的一些应用

最近听大家在讨论 负margin的一些应用,所以自己研究一下,下面做一些记录1. 实现左右两列布局    方法一:                    左侧            右侧            方法二:            左侧            右侧            对比两种方法,第一种用到float,弊端就是应

2013-05-20 15:57:52 601

原创 序列化json的函数

var param = function(){ this.str = ""; }; param.prototype.doinit = function(obj){ if (obj &&(obj.constructor === Array || obj.constructor === Object)) {

2013-05-15 16:29:37 557

原创 show一段插件代码

$.extend($.fn, { gridtable: function(opt) { this.each(function(i) { var that = this, $that = $(this); var options = $.extend({}, $.fn.gridtable.option

2013-05-15 14:15:56 736

转载 fiddler替换服务器上文件进行本地调试

在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性。更普遍的做法是,我们在开发环境中修改文件并验证,然后发布到生产环境。虽然安全,却比较繁琐。而利用Fiddler的可以修改HTTP数据的特性,我们就非常敏捷地基于生产环境修改并验证,确认后再发布。假

2013-05-13 11:10:35 6038

原创 初探EJS

前端开发在很多地方多会用到模板,常见的比如jquery的tmplateejs也是一个很简洁的模板官网:http://www.embeddedjs.com/另外附上自己写的一段代码:(function() { $.get("data/data.json",function(data) { var html = new EJS({url: "tml/clean

2013-05-10 14:13:19 1221

原创 node安装

nnd,操作一上午终于看到点效果了,根据最近官网给出的下载文件总结一下node如何安装1.  打开官网下载node安装文件download;2.  建议安装文件到d盘,安装文件自动node,并且配置系统环境变量,并且安装好npm(node package module);3.  然后  express 文件名  就可以创建一个node服务4.  但是创建好之后运行会发现会报错

2013-05-03 15:22:18 470

原创 前端禁止多次重复提交表单

表单形式: 用户名: 方法一:通过标志来注明是否是第一次提交,是:return true;否:return false;需要操作:修改form标签为具体代码:   var iscommited = false;  function dosubmit(){   if(!iscommited){    iscommited = true;    re

2013-05-02 10:51:48 1305

转载 表单target用法(页面提交表单无刷新)

偶然有一机会发现form表单的target的用法,可以实现当前页表单提交而不进行跳转刷新。代码如下,首页在页面里准备一form表单和一iframeJava代码  "提交的action" method="post" target="theID">  .....................    "theID" style="display: none;">

2013-05-02 10:15:32 698

转载 jquery插件编写

jQuery插件的开发包括两种:一种是类级别的插件开发,即给jQuery添加新的全局函数,相当于给jQuery类本身添加方法。jQuery的全局函数就是属于jQuery命名空间的函数,另一种是对象级别的插件开发,即给jQuery对象添加方法。下面就两种函数的开发做详细的说明。1、类级别的插件开发类级别的插件开发最直接的理解就是给jQuery类添加类方法,可以理解为添加静态方法。典型的例

2013-04-24 17:41:26 576

原创 对象深拷贝和浅拷贝

function extendCopy(p) {        var c = {};        for (var i in p) {            c[i] = p[i];        }        c.uber = p;        return c;    }但是,这样的拷贝有一个问题。那就是,如果父对象的属性等于数组或另一个对象,那么实际

2013-04-16 12:38:03 577

原创 数组-去掉重复内容

Array.prototype.unip = function () {        var temp = {},            len = this.length;        for (var i = 0; i             if (typeof temp[this[i]] == "undefined") {                temp[t

2013-04-15 10:21:53 526

原创 css-元素水平、竖直居中

一、水平居中1.文本图片水平居中给父级元素设置text-align:center;2.确定宽度的块级元素居中设置自身margin-left:auto;margin-right:auto;别忘了设置自身宽度;3.不确定宽度的块级元素的居中(1)用table帮助实现不确定宽度块级元素居中块级元素设置table元素margin-left:auto;margin-right

2013-03-16 22:15:07 14740

原创 js-获取鼠标光标相对于整个页面的当前位置

*{margin:0;padding:0;}                                  function getEvent(e) {            return e || window.event;        }        function getX(e) {            var e = getEve

2013-03-16 21:29:21 2084

原创 javascript事件模型解析

在各种浏览器中存在三种事件模型:原始事件模型( original event model),DOM2事件模型,IE事件模型.其中原始的事件模型被所有浏览器所支持,而DOM2中所定义的事件模型目前被除了IE以外的所有主流浏览器支持.1.原始事件模型其事件类型:分为"输入事件(如onclicki)"和"语义事件(如onsubmit)"事件程序的注册可以以下几种方式:

2013-03-15 16:08:37 512

转载 png gif jpg图片区别

PNG-8:   256色PNG的别名,无损格式,体积最小,但最多只支持256色。和 gif 有一些相似之处,模式都是索引颜色,只支持像素级的纯透明,不支持 alpha 透明。我们通常说的“IE6 不支持 PNG 透明”,是指不支持 PNG-24 的透明(将透明区域显示为灰色)。注:IE6以下的浏览器支持PNG8的索引透明,但图片必须为全透明,半透明的png8在浏览器下显示为全透明。

2013-03-11 16:36:29 1778

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除