什么是hasLayout?hasLayout是IE特有的一个属性。很多的ie下的css bug都与其息息相关。在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容。当一个元素的 hasLayout属性值为true时,它负责对自己和可能的子孙元素进行尺寸计算和定位。虽然这意味着这个元素需要花更多的代价来维护自身和里面的内 容,而不是依赖于祖先元素来完成这些工作。
CSS是网页设计师的基础,对CSS的了解能使他们能够设计出更加美观别致的网页。使用CSS技巧来巧妙地处理CSS是非常令设计师着迷的事情。在CSS的深海世界里有很多有意思的东西,你只需要找到最适合你的就好。当然我们不可能一下子就记住所有CSS的规则和语法,但为了以后的发展我们还是应该记住那些非常有用的CSS技巧。
jQuery如何判断元素是否是隐藏的?参考代码如下:
var temp = $("#test").is(":hidden"); // 是否隐藏
var temp1 = $("#test").is(":visible"); // 是否可见
alert($(e.target).is("input")); // 判断元素的标名称
一 css的优先级
今天有人跟我说css hack中用!important来区分ie6,因为ie6不支持!important,是的在很早以前我也是用过这种方法写hack,但是后来就基本不 用了。本来我对他谁的ie6不支持!important也没什么异议,可是正好在前几天正好用个这个!important属性解决了一个样式优先级的问 题,而且是支持ie6的,这是为什么呢?到底ie6支不支持!important呢?
JavaScript的简单类型包括 数字、字符串、布尔值、null值、undefined值。
其他的值都是对象。对象是可变的键控集合。数组、函数、正则表达式都是对象。
对象是属性的容器,属性都是名字和值对。名字可以是包括空字符串在内的全部字符串。值可以是除了undefined之外的任何值。
在我们前端开发的日常工作中,发现服务器上某个css/javascript文件有问题,需要修改,那真是家常便饭。通常,我们需要将文件进行修改,然后重新发布再验证,这样就很容易影响到生产环境的稳定性。更普遍的做法是,我们在开发环境中修改文件并验证,然后发布到生产环境。虽然安全,却比较繁琐。而利用Fiddler的可以修改HTTP数据的特性,我们就非常敏捷地基于生产环境修改并验证,确认后再发布。

通常在很多情况下都会遇到通过js来传值的问题,只要通过一些页面关联,他们的值就可以互相传递,其中应用框架的时候传值问题可能会遇到更多一些
1、从父页面传值到子页面可能很容易办到,在很多情况下可以不通过js来传就可以达到目的,但从子页面把数据传给父页面就不是那么容易了,其实思路很简单,首先你要通过父页面找到子页面,按照W3C标准来,语法如下:
document.getElementById('iframe1').contentWindow;
取到子页面对象
经常有人会在JavaScript里写如下的方法:
function checkType() {
var s1 = 123;
var s2 = "OK";
if (s1 instanceof Number) {
alert("s1 is a number.");
}
if (s2 instanceof String) {
alert("s2 is a String.");
}
}
问题在哪里呢?
首先我们要理解,JS里,var本身是一个泛型,它并不是Number,也不是String,更不是其他的类。
apply方法
apply方法的第一个参数也是要传入给当前对象的对象,即函数内部的this。后面的参数都是传递给当前对象的参数。
对于apply和call两者在作用上是相同的,但两者在参数上有区别的。对于第一个参数意义都一样,但对第二个参数:apply传入的是一个参数数组,也就是将多个参数组合成为一个数组传入,而call则作为call的参数传入(从第二个参数开始),如 func.call(func1,var1,var2,var3)对应的apply写法为:func.apply(func1, [var1,var2,var3])。同时,使用apply的好处是可以直接将当前函数的 arguments对象 作为apply的第二个参数传入。
1.弹出层详解,从简单到复杂
http://www.artcss.com/archives/477.html
2.JavaScript 仿LightBox内容显示效果
http://www.cnblogs.com/cloudgamer/archive/2008/09/15/1290954.html