jQuery的unbind()函数详解

2010-06-07 19:53:21.0

jQuery的绑定事件非常方便,有bind、unbind、live、one,还有它帮你把一些常用的事件给单独了出来,比如控件的onclick事件,我们绑定onclick事件的时候只需要

$("#testButton").click(function() {
alert("I'm Test Button");
});

详细的可以参考我写过的jQuery事件机制

00后的可爱语录和强大的80后妈妈

2010-06-07 17:10:33.0

1.最近给朵朵买了一双大红的袜子,上面有水钻,找出一条黑色长款线衫来搭,感觉真是很好看,很时尚

朵朵说:为什么我的衣服老是黑色,其实我喜欢粉色的

妈妈说: 黑色很时尚,你要学会欣赏

朵朵说 :我不想欣赏

妈妈说:你负责穿, 妈妈负责欣赏

朵朵……..

2.早上朵朵在赖床,妈妈躺在温暖被窝里劝她—小朋友要早起上幼儿园

朵朵说: 为什么你可以赖床上?

妈妈说:因为我小时候上幼儿园不赖床,所以长大了就可以在床上多躺会!

JQuery实现链接滑动特效

2010-06-07 15:27:42.0

所谓链接滑动效果,文字描述就是:鼠标放在链接元素(可以是文字或图片)上,链接元素向右滑动一点距离(也可以向上,向下滑动),增加链接元素的交 互感,具体效果演示看侧边栏。将鼠标移“随机文章”li的链接上,就会发现文本链接向右移动了一点,鼠标移开后,又恢复至原位,是不是很听话?

实现方法:

CSS样式:

#sidebar li a {position:relative;}



 

$('#sidebar li a').hover(function() {
$(this).stop().animate({'left': '5px'}, 'fast');
}, function() {
$(this).stop().animate({'left': '0px'}, 'fast');
});

byte[]和InputStream的相互转换

2010-06-07 12:50:02.0

1:byte[]转换为InputStream

InputStream sbs = new ByteArrayInputStream(byte[] buf);



2:InputStream转换为byte[]数组

ByteArrayOutputStream swapStream = new ByteArrayOutputStream();

byte[] buff = new byte[100]; //buff用于存放循环读取的临时数据

int rc = 0;

jQuery hasClass(),jQuery判断元素是否含有className

2010-06-07 11:26:36.0

jQuery中的hasClass(selector)

返回值

Boolean



参数

class (String) : 用于匹配的类名,注意不需要加"."

检查当前的元素是否含有某个特定的类,如果有,则返回true。

这其实就是 is("." + class)。我们看下源代码:

function (selector) {
return this.is("." + selector);
}

jQuery替换element元素上已经绑定的事件

2010-06-05 14:31:18.0

jQuery如何重新绑定已经绑定的事件?虽然我们现在推荐行为分离,渐进增强,但在很多遗留系统里还是存在很多这样的代码

<input type="button" value="ClickMe" id="btn1" onclick="foo()" />

就是直接在DOM元素上绑定事件

这样做有很多缺点

1.代码高度耦合

2.增加HTML大小

3.书写不了逻辑性很强的代码

如何在模板文件中获取controller名称,action名称和module name

2010-06-04 16:01:27.0


我们可以很容易的在 magento模板中得到controller name,action name 和module name

比如在phtml模板文件中

主要是通过

$this->getRequest()
具体使用方法

/**
* get Controller name
*/
$this->getRequest()->getControllerName();
/**
* get Action name, i.e. the function inside the controller
*/
$this->getRequest()->getActionName();
/**
* get module name
*/
$this->getRequest()->getModuleName();

判断一个元素(对象)是否为另一个元素的子元素

2010-06-04 15:35:08.0

js通过contains和compareDocumentPosition方法来确定DOM节点间的关系,判断一个元素(对象)是否为另一个元素的子元素

首先自己写一个:

function isParent(obj,pobj){
do{
obj = obj.parentNode;
if(obj==pobj){
return true;
}
}while(obj.tagName!='BODY');
return false;
}

javascript如何创建类(一)

2010-06-04 09:54:48.0


在网上看到一个由浅到深的分析js OO之写类方式,大概会有5-8篇。我这里转载一下

作者后面陆续会分析流行库(框架)的写类方式。为了讨论的单一性,暂不考虑类的继承,(私有,受保护)属性或方法。

EMCA262规范中没有类(class)的概念,js的new只是让他看起来更像c++,java一点。这里说的写类,只是书写js代码风格而已。

1、构造函数方式

 

/**
* Person类:定义一个人,有个属性name,和一个getName方法
* @param {String} name
*/
function Person(name) {
this.name = name;
this.getName = function() {
return this.name;
}
}

JavaScript使用equals()比较对象

2010-06-04 09:40:25.0
如果要在js中比较两个对象相等,单纯的使用"=="是不行的,这里我们借助下java中的equals()方法,

基于object对象原型

Object.prototype.equals = function(obj){
if(this == obj)
return true;
if(typeof(obj)=="undefined"||obj==null||typeof(obj)!="object")
return false;
var length = 0; var length1=0;
for(var ele in this) {
length++;
}
for(var ele in obj) {
length1++;
}
if(length!=length1)
return false;
if(obj.constructor==this.constructor){
for(var ele in this){
if(typeof(this[ele])=="object") {
if(!this[ele].equals(obj[ele]))
return false;
}
else if(typeof(this[ele])=="function"){
if(!this[ele].toString().equals(obj[ele].toString()))
return false;
}
else if(this[ele]!=obj[ele])
return false;
}
return true;
}
return false;
};