09 2012 档案

摘要:背景:作为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前端 阅读(276) 评论(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前端 阅读(269) 评论(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前端 阅读(143) 评论(0) 推荐(0)
摘要:二、JavaScript函数进阶2.1 匿名函数和嵌套函数在JavaScript可以声明一个没有名称的函数,称为匿名函数(Anonymouse Function)。同时JavaScript还允许在函数内部声明函数,称为嵌套函数(Nested Function),嵌套函数的作用域为整个父函数。在前面函数声明的部分就看到了匿名函数和嵌套函数的一种用法,由于匿名函数没有名称,不会引入新的变量污染上下文环境,而且会带来新的变量作用域,因此匿名函数常被用来防止全局环境污染。JavaScript运行时中有一个特殊的全局环境(global object),这个对象上面存放全局的函数和变量,实际开发中经常会使 阅读全文
posted @ 2012-09-21 16:13 andy joe专注web前端 阅读(180) 评论(0) 推荐(0)
摘要:简介在很多传统语言(C/C++/Java/C#等)中,函数都是作为一个二等公民存在,你只能用语言的关键字声明一个函数然后调用它,如果需要把函数作为参数传给另一个函数,或是赋值给一个本地变量,又或是作为返回值,就需要通过函数指针(function pointer)、代理(delegate)等特殊的方式周折一番。而在JavaScript世界中函数却是一等公民,它不仅拥有一切传统函数的使用方式(声明和调用),而且可以做到像简单值一样赋值、传参、返回,这样的函数也称之为第一级函数(First-class Function)。不仅如此,JavaScript中的函数还充当了类的构造函数的作用,同时又是一个 阅读全文
posted @ 2012-09-21 16:01 andy joe专注web前端 阅读(167) 评论(0) 推荐(0)
摘要:JavaScript函数像一般语言一样也是遵循先声明后使用的原则,函数名只能包含字母、数字、下划线或$,且不能以数字开头。函数常见的声明方式有以下两种:// 直接声明函数myfuncfunction myfunc(/* arguments */) {}// 把匿名函数赋值给本地变量myfuncvar myfunc = function(/* arguments */) {}注意,上面两种函数声明方式存在细微的差别:第一种方式在声明时就是一个命名的函数,无论是声明在调用之前、调用之后,甚至是不会执行到的位置(例如return语句之后或是永远不会为真的分支里),都在整个作用域可访问;第二种方式是通 阅读全文
posted @ 2012-09-21 15:46 andy joe专注web前端 阅读(135) 评论(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前端 阅读(174) 评论(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前端 阅读(157) 评论(0) 推荐(0)
摘要:在什么地方插入 JavaScript? JavaScript 可以出现在 HTML 的任意地方。使用标记<script>…</script>,你可以在 HTML 文档的任意地方插入 JavaScript,甚至在<HTML>之前插入也不成问题。不过如果要在声明框架的网页(框架网页)中插入,就一定要在<frameset>之前插入,否则不会运行。基本格式<script> <!-- ... (JavaScript代码) ... //--> </script> 第二行和第四行的作用,是让不懂<script>标 阅读全文
posted @ 2012-09-15 16:45 andy joe专注web前端 阅读(166) 评论(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前端 阅读(674) 评论(0) 推荐(0)
摘要:我们知道,根域名其实是没有前导 www 的。举个例子,本站的根域名是 w3cfun.com , 如果我在前面加上一个 www , 那么我的域名看起来是 www.w3cfun.com 事实上后者是一个子域名,这是有 www 与没有 www 的最本质区别。为什么会有 www?我们平时听到的网址都是 www.xxxx.com 的类型,潜意识中就觉得网站就是应该以 www 开头的,因为 www 是 World Wide Web 的所写。其实不然。域名的本质是 IP 地址的别名 (w3cfun to IP address), 也就是说,一个域名不一定要用来做“网站”,而可以是其它的一些目的,例如仅仅是为 阅读全文
posted @ 2012-09-15 15:24 andy joe专注web前端 阅读(3441) 评论(0) 推荐(0)
摘要:在某些特殊网页上面,我们不想让用户刷新或者点出右键菜单来,要达到这个功能需要添加一定的javascript代码才能做到,思路:判断用户点击的是哪个按键keycode,从而屏蔽这些按键的功能。但是IE和FF中的event不一样,要经过浏览器判断,包括e.keycode,FF中用的是e.which,经过这些分析后,就能完成禁止某些按钮功能的作用,下面是实例代码:<script language="javascript"> //禁止按键F5 document.onkeydown = function(e){ e = window.event || e; var key 阅读全文
posted @ 2012-09-15 15:14 andy joe专注web前端 阅读(245) 评论(0) 推荐(0)
摘要:随着3G的普及,越来越多的人使用手机上网。移动设备正超过桌面设备,成为访问互联网的最常见终端。于是,网页设计师不得不面对一个难题:如何才能在不同大小的设备上呈现同样的网页? 手机的屏幕比较小,宽度通常在600像素以下;PC的屏幕宽度,一般都在1000像素以上(目前主流宽度是1366×768),有的还达到了2000像素。同样的内容,要在大小迥异的屏幕上,都呈现出满意的效果,并不是一件容易的事。 很多网站的解决方法,是为不同的设备提供不同的网页,比如专门提供一个mobile版本,或者iPhone / iPad版本。这样做固然保证了效果,但是比较麻烦,同时要维护好几个版本,而且如果一个网站 阅读全文
posted @ 2012-09-15 14:14 andy joe专注web前端 阅读(186) 评论(0) 推荐(0)
摘要:offset([coordinates])概述:获取匹配元素在当前视口的相对偏移。返回的对象包含两个整型属性:top 和 left。此方法只对可见元素有效。比如,获取第二段的偏移:HTML 代码:<p>Hello</p><p>2nd Paragraph</p>jQuery 代码:var p = $("p:last"); var offset = p.offset(); p.html( "left: " + offset.left + ", top: " + offset.top );结果 阅读全文
posted @ 2012-09-14 15:34 andy joe专注web前端 阅读(117) 评论(0) 推荐(0)
摘要:网页可见区域宽:document.body.clientWidth;网页可见区域高:document.body.clientHeight;网页可见区域宽:document.body.offsetWidth(包括边线和滚动条的宽);网页可见区域高:document.body.offsetHeight(包括边线的宽);网页正文全文宽:document.body.scrollWidth;网页正文全文高:document.body.scrollHeight;网页被卷去的高(ff):document.body.scrollTop;网页被卷去的高(ie):document.documentElement. 阅读全文
posted @ 2012-09-14 15:03 andy joe专注web前端 阅读(182) 评论(0) 推荐(0)
摘要:先来看一下要实现的效果css布局思路是在正常的li元素中放置一个正常的a标签,另一个是只放置背景的span标签,两者叠加可以产生出想要的效果。这个效果的关键在于span标签的高度要自动适应,因为可能出现多行文字的情况,而IE6下并不支持height:100%的css用法,目前在本人看开只能用js控制了,但是如果只是为这个小元素写js的话可能会感觉负担太多,当然这是开玩笑的了。如果用到css expression,就可以模拟独立js设置span的高度了,下面来具体说一下css expression:CSS Expressions 俗称 CSS 表达式定义:IE5及其以后版本支持在CSS中使用ex 阅读全文
posted @ 2012-09-11 20:01 andy joe专注web前端 阅读(131) 评论(0) 推荐(0)
摘要:在最近做的一个叫入职帮帮 项目中,需要大量的及节点增删操作,稳定性和效果都在要求当中。在快要收尾的时候遇到一个问题,一个节点slideUp()之后实际上并没有删除,必须remove(),但是为了保持效果,采取了先隐藏在删除的做法,这里面就需要用到了setTimeout()这个方法,现在来总结一下js中setTimeout和setInterval这两个看似比较容易混淆的方法。首先讲的是setTimeout()官方定义:setTimeout() 方法用于在指定的毫秒数后调用函数或计算表达式;语法:setTimeout(code,milliseconds)括号里两个都是必须的参数(code:要调用的 阅读全文
posted @ 2012-09-11 16:46 andy joe专注web前端 阅读(192) 评论(0) 推荐(0)
摘要:正则表达式的定义?无论是网页编程还是其他编程,都无可避免的要处理字符串,但是有的复杂字符串并不适合用所用语言去处理,比如说注册的时候限定输入格式,web前后端交互的时候处理提交 的数据,在某些情况下,字符串的处理至关重要,但是人们又不想使用复杂的语法去实现这个功能,而强大的正则表达式提供了一个很好的解决方法,这可能和windows或者linux操作性体统中的查找有点类似。正则表达式常见用法:1、正则表达式中强大的元字符查找一个简单的单词比如精确查找我的英文名chou,那么应该使用\bchou\b来查询(\b是正则表达式中的一个特殊代码,代表单词的开头或者结束也就是分词处),在比如去匹配两个分开 阅读全文
posted @ 2012-09-07 17:02 andy joe专注web前端 阅读(159) 评论(0) 推荐(0)