当前位置: 首页 > 图文教程 > 网络编程 > Javascript > 经验几则 推荐

Javascript
JS 参数传递的实际应用代码分析
prototype与jquery下Ajax实现的差别
用JS写的简单的计算器实现代码
javascript 数组操作实用技巧
JavaScript 中级笔记 第二章
JavaScript 中级笔记 第三章
JavaScript 中级笔记 第四章 闭包
JavaScript 中级笔记 第五章 面向对象的基础
Mootools 1.2教程 函数
Mootools 1.2教程 事件处理
通过Mootools 1.2来操纵HTML DOM元素
Mootools 1.2教程 设置和获取样式表属性
Mootools 1.2教程 输入过滤第一部分(数字)
Mootools 1.2教程 输入过滤第二部分(字符串)
Mootools 1.2教程 Fx.Tween的使用
Mootools 1.2教程 Fx.Morph、Fx选项和Fx事件
MooTools 1.2中的Drag.Move来实现拖放
Mootools 1.2教程 正则表达式
Mootools 1.2教程 定时器和哈希简介
Mootools 1.2教程 滚动条(Slider)

Javascript 中的 经验几则 推荐


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-10-10   浏览: 127 ::
收藏到网摘: n/a

以下是我开发时碰到的问题以及心得经验,花了些时间调试,贴出来避免大家少走弯路,如有错误欢迎指正,持续更新ing
xml文件尽量以utf-8编码,gb2312有些字是存储不了的,如©,就算能存也需要转换,比较麻烦,utf-8也符合国际规范
CSS中:hover这个伪类,如果放在:visited前面则会失效
<a>标签如果没有href属性,所有对它的css的伪类如:hover均失效
js文件中用document.wirte("<script language='javascript' src='" + file + "'></" + "script>"形式的引用,其file相对路径均为引用该js的html的路径。
如:a.htm 引用x\b.js,b.js引用x\c.js,则file应该为x\c.js而不是相对b.js的直接路径c.js,而css中的@import,url()引用不存在这个问题
在页面中,有时talbe的宽设置为100%右边也会留下一个滚动条的空白,请设置<body style="overflow:auto">
对于常用的图片不要用img标签,使用<span><a>并用css指定其背景和宽高,对于做动态的(移上去变背景),使用<a>最好,不需要额外编写代码,只要利用伪类:hover就好了,使用css好处是一次改变全部改变,这点可以很好的利用在换皮肤的应用中
@font-face {
font-family:comic;
src:url(http://valid_url/some_font_file.eot);
}
定义一种在本地没有的字体名称,调用<span style="font-family:comic;font-size:18pt>aa</span>
几个CSS
div { overflow: hidden;text-overflow:ellipsis; }
td { vertical-align : middle; }
要强制溢出发生并且应用 ellipsis 值,作者必须设置对象的 white-space 属性值为 nowrap 。
假如没有换行机会(例如,对象容器的宽度是狭窄的,而内有很长的没有合理断行的文本),没有应用 nowrap 也有可能溢出。
为了使 ellipsis 值被应用,此属性必须被设置到具有不可视区域的对象。最好的选择是设置 overflow 属性为 hidden
firefox的document.createElement不支持内容里有HTML标签,也不支持innerText,但是支持innerHTML,可以用innerHTML指定其内容
.net控件里DropDownList在firefox下的宽度不着色,需要直接定义style='width:10px;'
firefox中css的cursor不支持hand,使用pointer代替
iframe里的滚动条需要在iframe标签里设置style='overflow:hidden',不能仅仅在body里设置,在firefox会有问题
在onpropertychange事件时,注意使用event.propertyName对属性改变事件过滤,在设置本事件时,其实已经改变了onpropertychange这个属性,所以会自动的执行一次
js5.6里的对XSL的支持版本较低,如document函数就不支持
slice函数比直接循环获取数组片断慢
nextSibling获得下一个对象时,需要注意,两个节点间不要有空格,否则很容易获取不到正确得对象
CreateTextFile在有中文时必须指定第三个参数为true,否则不能写入中文,表现为Write写时报错
保存中文文本时使用ADODB.stream,不使用fso,因为FSO不支持utf-8格式
2.  锚的伪类
我们最常用的是4种a(锚)元素的伪类,它表示动态链接在4种不同的状态:link、visited、active、hover(未访问的链接、已访问的链接、激活链接和鼠标停留在链接上)。我们把它们分别定义不同的效果:
a:link{color:#FF0000;text-decoration:none}/*未访问的链接*/
a:visited{color:#00FF00;text-decoration:none}/*已访问的链接*/
a:hover{color:#FF00FF;text-decoration:underline}/*鼠标在链接上*/
a:active{color:#0000FF;text-decoration:underline}/*激活链接*/
(上面这个例子中,这个链接未访问时的颜色是红色并无下划线,访问后是绿色并无下划线,激活链接时为蓝色并有下划线,鼠标在链接上时为紫色并有下划线)
注意:有时这个链接访问前鼠标指向链接时有效果,而链接访问后鼠标再次指向链接时却无效果了。这是因为你把a:hover放在了a:visited的前面,这样的话由于后面的优先级高,当访问链接后就忽略了a:hover的效果。所以根据叠层顺序,我们在定义这些链接样式时,一定要按照a:link,a:visited,a:hover,a:actived的顺序书写。 "