同时兼容标准的非标准的scrollTop获取
2008-01-13 19:45 归类于:JavaScript我们知道,应该WEB标准,也就是网页加上
XML/HTML代码
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
声明后,会使document.body.scrollTop失效,而代替的方法则是使用document.documentElement.scrollTop。
另外,可以通过判断document.compatMode的值来确定网页是否有标准声明,因此为了简化程序,同时兼容标准和非标准,我一般都是像下面这样在程序的前部分便把document.body或document.documentElement赋值给body。
XML/HTML代码
- var body = document.compatMode == "CSS1Compat" ? document.documentElement : document.body;
但实际上在网页的头部加入这段代码后,在非标准的网页中却不能用body.scrollTop这样来获取滚动条的位置。
经测试后得知,将此段代码放到<body>以后则可以完全正常
最短的带星期显示的数字钟代码
2007-11-10 11:24 归类于:JavaScript
JavaScript代码
- <div id="databox"></div>
- <script>
- setInterval("databox.innerHTML=new Date().toLocaleString()+' 星期'+'日一二三四五六'.charAt(new Date().getDay());",1000);
- </script>
这是我目前见过的最短的数字钟代码了
FireFox和IE中JavaScript的区别(一)
2007-10-14 22:17 归类于:JavaScript1、获取所在框架的框架名称
IE:
JavaScript代码
- document.parentWindow.name
FireFox:
JavaScript代码
- document.defaultView.name
2、设置框架为设计模式
框架的设计模式是网页编辑器的基本,页FireFox中设置此模式也和IE中不同:
IE:
JavaScript代码
- document.getElementById('editorIframe').contentWindow.designMode = "on";
FireFox:
JavaScript代码
- document.getElementById('editorIframe').contentDocument.designMode = "on";
几段Javascript的函数对象扩展
2007-10-10 19:32 归类于:JavaScript
1、这两段为前文所讲的call和apply应用
JavaScript代码
- Function.prototype.bind = function (object){
- var __method = this;
- return function (){
- __method.apply(object,arguments);
- };
- };
- Function.prototype.bindAsEventListener = function (object){
- var __method = this;
- return function (event){
- __method.call(object,event||window.event);
- };
- };
2、指定时间后再执行该方法
JavaScript代码
- Function.prototype.timeOut = function(t) {
- var __method = this;
- var argu = Array.prototype.slice.call(arguments,1);
- var f = function(){
- __method.apply(null, argu);
- }
- return setTimeout(f, t);
- }
有别于系统的setTimeout,该方法可以向要执行的程序传递参数,下面是例子:
JavaScript代码
- function hello (arg1, arg2) {
- alert("arg1:" + arg1 + "\narg2:" + arg2);
- }
- hello.timeOut(1000, '第一个参数', '第二个参数');
该方法返回的值也可以用clearTimeout来清除
FireFox中使用用JavaScript注意跟上单位
2007-10-08 21:14 归类于:JavaScript在IE中,我们可以这样设置对象的宽度
JavaScript代码
- document.getElementById('thediv').style.width = 100;
但是这段代码在FireFox中却是无效的,必须要这样:
JavaScript代码
- document.getElementById('thediv').style.width = "100px";



