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

Javascript
有趣的script标签用getAttribute方法来自脚本吧
学习YUI.Ext 第二天
学习YUI.Ext 第三天
学习YUI.Ext第五日--做拖放Darg&Drop
学习YUI.Ext 第六天--关于树TreePanel(Part 1)
学习YUI.Ext 第七天--关于View&JSONView
学习YUI.Ext 第六天--关于树TreePanel(Part 2异步获取节点)
对YUI扩展的Gird组件 Part-2
Gird事件机制初级读本
为Yahoo! UI Extensions Grid增加内置的可编辑器
如何简单地用YUI做JavaScript动画
(function(){})()的用法与优点
JS层移支示例代码
如何在Web页面上直接打开、编辑、创建Office文档
网页中实现浏览器的最大,最小化和关闭按钮
[原创]js与自动伸缩图片 自动缩小图片的多浏览器兼容的方法总结
图片自动缩小的js代码,用以防止图片撑破页面
收藏一些不常用,但是有用的代码
解决 firefox 不支持 document.all的方法
用ajax实现的自动投票的代码

Javascript 中的 经验几则 推荐


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-09-12   浏览: 144 ::
收藏到网摘: 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的顺序书写。 "