现在的位置: 首页 > 综合 > 正文

转,marquee在IE6与FF中的兼容问题

2012年03月15日 ⁄ 综合 ⁄ 共 979字 ⁄ 字号 评论关闭

这些天一直在调MIBS柜面系统界面在IE6与火狐浏览器下的兼容问题。经理说让做两套样式,分别基于IE6和FF下,这样似乎更简便些。但我觉得调整兼 容性对我来说也不是什么难事,就试着调了调,样式上调起来比较快,半天时间就搞定了。唯独marquee在调的时候费了些周折,事后想想这倒是一个很好的 经验,应该写出来与大家分享,以后大家在遇到这个问题时至少可以少走点弯路,节省宝贵的时间。当然,也可能我这个方法大家有的已经用过了吧,但无论如何, 写出来总会对大家有些帮助的。

marquee并不是一个标准的标签,只是IE自己延伸出来的,在FF下是不兼容的。我上网查了很多资料,大部分都采用JS来控制,这样可以做到多浏览器的兼容性。我将他们的代码COPY下来演示了下,的确达到了预期效果,但最终使我并没有采用这些方法的理由是:

1、JS代码比较多,仅仅一个文字滚动的效果就调用这么多代码,实在觉得不值;大家也知道,JS用的过多并不是一件好事。

2、我单独演示这个效果的时候很好,但当我将这个效果移植到现有界面上后就不再滚动,极有可能和其他代码有冲突,因为现有界面已经调用了很多JS。

因为不甘心,我又去网上搜集相关资料,无意中看到一个国外网站,就是展示了这种文字滚动的效果,把它在FF里看,同样有这样的效果,查看源文件,就是纯粹 用的marquee,并没有调用一丁点JS;这让我非常兴奋,至少给我传达了这样一个希望:那就是火狐兼容marquee是百分百有可能的事!

我回到自己的界面里重新查找原因,试了各种方法,都没有效果,于是将自己的代码和别人的代码对比了下,发现唯一的区别是我的marquee外面被div包 含着,而别人的是被table包含着,这个区别开始并没有引起我的注意,但因为试遍了所有可能的方法都不起作用,那就再试一下这个不被我看好的方法吧,就 是把div去掉。结果成功了,在IE6和FF下都能显示正常。我又在marquee套了一个table,结果也是显示正常。非常高兴!我又测试了几种方 法,想彻底摸清marquee的特性,结果又发现了一个问题:那就是要给marquee一个width值,这样也才能正常显示,否则也显示不出滚动效果! 是否还有别的小问题,我就没有在测试下去,有感兴趣的朋友可以试着找一找,找的过程,自己能学到不少东西!

最后祝大家在圣诞里能够开开心心、事事顺心!:)

抱歉!评论已关闭.