01 2013 档案
摘要:转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/固定头部或者左侧导航现在网站中随处可见,主要是为了提高用户体验;以及右下角的固定广告,页面两侧的固定广告。这些实现起来其实并不困难,都基于一个属性:position:fixed;是可惜IE6不支持;只能退而求其次利用其它办法,比如利用js监听window的resize和scroll事件,重置位置。实现起来也很简单,主要是scrollLeft或者scrollTop以及可视窗口高度来定位。但这些都有一个问题好就是会出现“震动”。所以,又出现另外一种解法,就是利用Internet Explorer的CSS表
阅读全文
摘要:js跨域是个讨论很多的话题。iframe跨域访问也被研究的很透了。一般分两种情况:一、 是同主域下面,不同子域之间的跨域; 同主域,不同子域跨域,设置相同的document.domian就可以解决; 父页访问子页,可以document.getElementById("myframe").contentWindow.document来访问iframe页面的内容;如果支持contentDocument也可以直接document.getElementById("myframe").contentDocument访问子页面内容; 子页访问父页,可以parent.
阅读全文
摘要:转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/一、BFC是什么?BFC(Block Formatting Context)直译为“块级格式化范围”。是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。当涉及到可视化布局的时候,Block Formatting Context提供了一个环境,HTML元素在这个环境中按照一定规则进行布局。一个环境中的元素不会影响到其它环境中的布局。比如浮动元素会形成BFC,浮动元素内部子元素的主要受该浮动元素影响,两个浮动元素之间是互不影响的。这里有点类似一
阅读全文
摘要:“交集”复合选择器是由两个选择器直接连接构成,其结果是选中二者各自元素范围的交集。其中第一个必须是标记选择器,第二个必须是类别选择器或者ID选择器。这两个选择器之间不能有空格,必须连续书写。注意其中第一个必须是标记选择器,如p.class1,但有时候会看到.class1.class2,即2个都是类选择器,在其他浏览器中是允许出现这种情况的,但IE6不兼容。如下表:两个类选择器的“交集”复合选择器浏览器支持表:Mac: Safari 4.0支持Mac: Chrome 5.0支持Mac: FireFox 3.6支持Mac: Opera 10支持Win: FireFox 3.6支持Win: Oper
阅读全文
摘要:javascript是个入门门槛很低的语言,甚至一个从来没有接触过javascript的技术人员,几小时内就可以写出一个简单有用的程序代码。但是如果因此你就下结论:javascript是门简单的语言。那你就大错特错了。想写出高性能的代码,同样需要具备一个高级程序员的基本素养。一个java或者c++程序员,不一定能写出高性能的javascript代码,但更容易写出高性能的javascript代码。javascript的简单是基于它“胸襟广阔”的包容性。它声明时,不需要指定类型,甚至可以任意的转换类型。它面向对象,却没有类(Class)的限制。它是一门崇尚自由又非常严谨的语言,如果你是一个自由主义
阅读全文
摘要:在nodejs中,模块大概可以分为核心模块和文件模块。核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net'))。文件模块,则是指js文件、json文件或者是.node文件。在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径、./xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录。如果既不加/.../、../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹加载。对于加载模块时既没指出./ ../ /.../时,加载模块的搜索路径。如果'
阅读全文
摘要:原文:http://www.hacksparrow.com/node-js-exports-vs-module-exports.html你肯定非常熟悉nodejs模块中的exports对象,你可以用它创建你的模块。例如:(假设这是rocker.js文件)exports.name = function() { console.log('My name is Lemmy Kilmister');};在另一个文件中你这样引用var rocker = require('./rocker.js');rocker.name(); // 'My name is Lem
阅读全文
摘要:当我新建一个express配置的应用时,会自动创建一套应用构架:其中:public放置静态的东西,css、image、jsroutes放置路由views放置模板看一下appjsvar express = require('express') , routes = require('./routes') , user = require('./routes/user') , http = require('http') , path = require('path');var app = express();app.
阅读全文
摘要:Express利用HTTP动作提供了有意义并富有表现力的URL映射API,例如我们可能想让用户帐号的URL看起来像/user/12的样子,下面的例子就能实现这样的路由,其中与占位标识符(本例为:id)相关的值可以被req.params获取到。URL路径和参数看起来没有任何分别,真正的区别在于,将被哪个对象获取,例如:下面例子和对应的URL:http://..../user/12,user将匹配路径,12将匹配参数:id,它将被req.params对象获取到。app.get('/user/:id', function(req, res){ res.send('user &
阅读全文
摘要:原文:http://developer.51cto.com/art/201112/306738.htm本文向您介绍Node.js扩展模块——Hashish。Hashish是JavaScript的一个Hash组合子库,换句话说,它包含了一系列数据结构操作功能。例如:var Hash = require('hashish');Hash({ a : 1, b : 2, c : 3, d : 4}).map(function(x) { return x * 10}).filter(function(x) { return x < 30}).forEach(funct...
阅读全文
摘要:http://www.cnblogs.com/jcomet/archive/2012/02/11/2347157.html
阅读全文
摘要:以往我们在开发php程序调试的时候,每修改一次,可以直接去浏览器浏览,不需要重启服务。但是在开发nodejs程序,调试的时候,无论你修改了代码的哪一部分,都需要重启服务才能生效。这是因为 Node.js 只有在第一次引用到某部份时才会去解析脚本文件,以后都会直接访问内存,避免重复载入。。Node.js的这种设计虽然有利于提高性能,却不利于开发调试,因为我们在开发过程中总是希望修改后立即看到效果,而不是每次都要终止进程并重启。supervisor 可以帮助你实现这个功能,它会监视你对代码的改动,并自动重启 Node.js。supervisor的安装也很简单:直接用npm安装既可,键入命令: np
阅读全文
摘要:相信对于很多关注javascript发展的同学来说,nodejs已经不是一个陌生的词眼。有关nodejs的相关资料网上已经铺天盖地。由于它的高并发特性,造就了其特殊的应用地位。国内目前关注最高,维护最好的一个关于nodejs的网站应该是http://www.cnodejs.org/这里不想谈太多的n...
阅读全文
摘要:转文请标明 --- 出处:穆乙 http://www.cnblogs.com/pigtail/html5大行其道的时代已经到来。如果你还在等待浏览器兼容,说明你已经与web脱节几条街了。当然,这得益于移动客户端的蓬勃发展。如果还在纠结于,是否应该掌握html5和css3技术时,请狠狠的抽自己几个嘴巴,然后,苦学吧!因为前端的春天已经到来,而且不止一个春天。如果你不信,我只能说:爱信不信!下面我们来看一个标准的html5标签结构:(我这里只是说标签,其它概不涉及)<!DOCTYPE HTML><html><head><meta charset="
阅读全文
摘要:escape定义和用法escape() 函数可对字符串进行编码,这样就可以在所有的计算机上读取该字符串。语法 escape(string)参数描述string必需。要被转义或编码的字符串。返回值已编码的 string 的副本。其中某些字符被替换成了十六进制的转义序列。说明该方法不会对 ASCII 字母和数字进行编码,也不会对下面这些 ASCII 标点符号进行编码: * @ - _ + . / 。其他所有的字符都会被转义序列替换。提示和注释提示:可以使用 unescape() 对 escape() 编码的字符串进行解码。注释:ECMAScript v3 反对使用该方法,应用使用 decodeUR
阅读全文