摘要: 背景:作为web前端的程序员都知道,许多需要使用png图片,但是目前仍然占据大部分市场的IE6却有着png图片背景不能透明的bug,下面分析一下:目录:一、可解决的方法1. css滤镜2. 老JavaScript方法3. jQuery实现4. flash实现二、产生的问题1. 响应单击事件2. 图片大小控制3. 背景图片的定位三、相应的解决方法1. 响应单击事件2. 图片大小控制3. 背景图片的定位四、相关延伸的问题1. png8与png24的半透明显示2. IE7的半透明滤镜与png背景透明五、小结一、可解决的方法1. IE css 滤镜IE css滤镜中有一个使png背景透明的滤镜,Jav 阅读全文
posted @ 2012-09-25 17:16 andy joe专注web前端 阅读(247) 评论(0) 推荐(0) 编辑
摘要: 几乎在所有的高级编程语言当中都存在自增自减这个操作,都知道“j= i++”的意思是先把i的值先付j,然后i自增,++i则是先自增后赋值,但是在更深层的程序里的运行模式却不是我们所想的那样。下面来探讨一下这个经典的用法在if(){}else{}条件判断语句中的运行机制:1.作为单独语句存在时int i = 0; if(i++){code}里面的code会执行么?no!因为编译器会先执行判断i是否大于0,在执行i++,而现在i的初始值是0,所以里面的code是不会执行的。int i = 0; if(++i){code}此时,编译器会先执行自增操作,再判断i是否大于0的操作,code正常执行。2.. 阅读全文
posted @ 2012-09-21 18:15 andy joe专注web前端 阅读(232) 评论(0) 推荐(0) 编辑
摘要: 三、JavaScript函数妖怪级欢迎来到妖怪级函数授课区,在这里会交给你如何淡定自如地面对老怪。。。3.1 Function类在JavaScript运行时中有一个内建的类叫做Function,用function关键字声明一个函数其实是创建Function类对象的一种简写形式,所有的函数都拥有Function类所有的方法,例如call、apply、bind等等,可以通过instanceof关键字来验证这个说法。既然Function是一个类,那么它的构造函数就是Function(它本身也是Function类的对象),应该可以通过new关键字来生成一个函数对象。第一个妖怪来了,那就是如何用Func 阅读全文
posted @ 2012-09-21 16:19 andy joe专注web前端 阅读(130) 评论(0) 推荐(0) 编辑
摘要: 二、JavaScript函数进阶2.1 匿名函数和嵌套函数在JavaScript可以声明一个没有名称的函数,称为匿名函数(Anonymouse Function)。同时JavaScript还允许在函数内部声明函数,称为嵌套函数(Nested Function),嵌套函数的作用域为整个父函数。在前面函数声明的部分就看到了匿名函数和嵌套函数的一种用法,由于匿名函数没有名称,不会引入新的变量污染上下文环境,而且会带来新的变量作用域,因此匿名函数常被用来防止全局环境污染。JavaScript运行时中有一个特殊的全局环境(global object),这个对象上面存放全局的函数和变量,实际开发中经常会使 阅读全文
posted @ 2012-09-21 16:13 andy joe专注web前端 阅读(176) 评论(0) 推荐(0) 编辑
摘要: 简介在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方式周折一番。而在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值、传参、返回,这样的函数也称之为第一级函数(First-class Function)。不仅如此,JavaScript中的函数还充当了类的构造函数的作用,同时又是一个 阅读全文
posted @ 2012-09-21 16:01 andy joe专注web前端 阅读(158) 评论(0) 推荐(0) 编辑
摘要: JavaScript函数像一般语言一样也是遵循先声明后使用的原则,函数名只能包含字母、数字、下划线或$,且不能以数字开头。函数常见的声明方式有以下两种:// 直接声明函数myfuncfunction myfunc(/* arguments */) {}// 把匿名函数赋值给本地变量myfuncvar myfunc = function(/* arguments */) {}注意,上面两种函数声明方式存在细微的差别:第一种方式在声明时就是一个命名的函数,无论是声明在调用之前、调用之后,甚至是不会执行到的位置(例如return语句之后或是永远不会为真的分支里),都在整个作用域可访问;第二种方式是通 阅读全文
posted @ 2012-09-21 15:46 andy joe专注web前端 阅读(128) 评论(0) 推荐(0) 编辑
摘要: 块状元素:address:地址blockquote: 块引用center :居中对齐块dir:目录列表div:常用块级容易,也是CSS layout的主要标签dl:定义列表fieldset:form控制组form:交互表单h1:大标题h2: 副标题h3:3级标题h4:4级标题h5:5级标题h6:6级标题hr:水平分隔线isindex:input promptmenu:菜单列表noframes:frames可选内容(对于不支持frame的浏览器显示此区块内容noscript:可选脚本内容(对于不支持script的浏览器显示此内容)ol: 有序表单p:段落pre:格式化文本table:表格ul:无 阅读全文
posted @ 2012-09-19 15:19 andy joe专注web前端 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 微软在IE8提供三种解析页面的模式:1、IE8 Standard Modes :默认的最标准的模式,严格按照W3C相关规定2、IE7 Standards Modes :IE7现在用的解析网页的模式,开起机关是在<head>中加入 <meta http-equiv="X-UA-Compatible" content="IE=7">3、Quirks Modes :IE5用的解析网页的模式,开起机关是删除HTML顶部的DOCTYPE声明注意:不同模式间的网页在IE8中可以互相 frame ,因此因不会模式下的DOM和CSS渲染不一样,所 阅读全文
posted @ 2012-09-15 16:50 andy joe专注web前端 阅读(152) 评论(0) 推荐(0) 编辑
摘要: 在什么地方插入 JavaScript? JavaScript 可以出现在 HTML 的任意地方。使用标记<script>…</script>,你可以在 HTML 文档的任意地方插入 JavaScript,甚至在<HTML>之前插入也不成问题。不过如果要在声明框架的网页(框架网页)中插入,就一定要在<frameset>之前插入,否则不会运行。基本格式<script> <!-- ... (JavaScript代码) ... //--> </script> 第二行和第四行的作用,是让不懂<script>标 阅读全文
posted @ 2012-09-15 16:45 andy joe专注web前端 阅读(158) 评论(0) 推荐(0) 编辑
摘要: 有时候需要取页面的底部, 就会用到document.body.clientHeight , 在HTML 标准中(这一句就能取到整个页面的高度, 不论body 的实际内容到底有多高。在XHTML中, 如果body 体中只有一行, 则document.body.clientHeight 只能取到那一行的高度, 约20px, 这时如何还想取到整个页面的高度, 就要用document.documentElement.clientHeight 来获取。原因: 在HTML 中, body 是整个DOM 的根, 而在XHTML 中, document 才是根, body 不再是根, 所以取body 的属性时 阅读全文
posted @ 2012-09-15 15:28 andy joe专注web前端 阅读(642) 评论(0) 推荐(0) 编辑