慧云科技 > 首页 > 文章详情

基本动态——兼容的JavaScript程序

本文来源:网站建设-网站制作|网络营销专家慧云科技-

抢滩登陆

2009-6-19 17:48:09

可以使用JavaScript来访问和改变CSS的定位元素的属性。但是事情有时候不像的那么好,一些语法在Netscape 4.0和Internet Explorer 4.0中有稍微的区别。既然已经知道了这些差别,下面将介绍一些建立对于两种浏览器都兼容的JavaScript程序——这些程序将在这两种浏览器中很好的运行。

 使用JavaScript和CSS定位

 假如有一个这样的DIV标记:

或许你会对上面的“blockDiv”名称感到陌生和奇怪,但是请记住这只是一个例子,实际使用时可以用任意的名字命名

块的“ID”标识,使用效果不会因此而改变。

 用JavaScript来访问CSS定位的内容,不同的浏览器有不同的做法:

对于Netscape一般是通过这种方法来访问CSS定位属性的;

   Document.blockDiv.properyName

或者是

   Document.layers[“blockDiv”].PropertyName

对于Internet Explorer,用下面的方法:

   blockDiv.style.propertyName

或者是

   Document.all[“blockDiv”].style.propertyName

 上面几段代码中的“propertyName”地方可以填上任意的CSS定位属性名称,例如left,top,visibility,z-index,width或其他CSS定位属性。

 到这里为止,这些简单的语句已经可以把两种浏览器分隔开了,但是具要它们做什么或者是怎么样做,还需要深入下去。

 使用兼容的Pointer变量可以说,创建对于两种浏览器都兼容代码的最好方法是指定变量,可以让变量指向“document.blockDiv”或者“blockDiv.style”,变量的行为完全取决于使用Netscape还是Internet Explorer.请看下面的例子,我们把它们叫做“pointer变量”。

     If(ns4)block =document.blockDiv

     If(ie4)block=blockDIv.style

 可以看出,在创建了这个变量以后,可以快捷使得地使用各种属性。例如 ,如果想要检查

标记的左边界坐标值,可以简单写上:

Block.left

此时,用户使用哪一种浏览器并没有关系,因为对于Netscape,”block”指向“document.blockDiv”,

而对于Internet Explorer,”block”指“blockDiv.style”.

 一个完整的例子

 最后我们来看一个例子,它将弹出一个对话框,告诉该CSS定位元素的left,top值。


特别注意:上面的例子在“BODY onLoad=”””里调用了“init()”函数来使剩下的页面全部加载完毕后才继续执行。这是因为当定义完Pointer变量后,其中

标记必须是已经存在的。否则,如果试着在页面没有加载完毕时就定义
标记,那么将看到一个JavaScript错误警告,例如“blockDiv in not defined!”.

 现在总结一下两个浏览器的差别:

 


RSS订阅| 关于我们| 网站地图| 加入项目| 法律条款| 友情链接| Firefox| Sitemap| 网站统计

全国免费咨询热线:400-600-6495 优惠活动咨询电话:021-62278496 Email:ajaxcms@yahoo.cn

上海慧云信息科技有限公司版权所有 2006-2009 沪ICP备09038165号

本站关键词:网站建设 高品质网站建设