仿QQ广告栏

都说一个问题不想永远重复的回答下去的最好办法是写在博客里。

那我就遵从下呗

其实这个仿QQ右下角的广告框没什么特色。不过还是说说实现原理吧。

如果你是个新手,那么请顺序看下去,如果你是个熟练的js使用者,那么仅仅看加重段就可以了。高手嘛。。。是不会来的。

1、定位使用了fixed定位,但是弱点是ie6下不支持这个定位,所以需要采取一些hack手段。这里使用了比较流行的IE6下绝对定位取代fixed定位的方法。通过window.XMLHttpRequest来判断是否是IE6(因为IE下没有这个对象嘛)。

2、在滚动条移动的时候用到了reflow的技巧。该技巧网络上使用的人众多,但是推广的不够,所以我也就传下道咯具体的方法有:

dom.className=dom.className 其实方法很多,这只是其中一个,有兴趣的可以去 google下。

3、动画方面我借用了arguments属性调整的一个方法,该方法是是参考Andrew Tetlawarguments arugments:a javascript oddity 一文的 。具体的原理是通过arguments.callee属性来调用传入函数的。以达到重复执行某一函数的作用。但不知道大家看到没有,这个方法重复多少次都是没问题的,问题在于setTimeout上面。如果你希望间隔要求的话这种方法并不合适,当然可以通过变形的方式来做到。这里我对此要求不高。另外一个关于arguments的常用应用是格式化字符串。 具体的方法如下

当你调用format("Hello %1,Welcome to %2 world","Jee","JavaScript")的话,自动返回了你想要的格式化字符串了。 不错吧,再次推荐看下上面那篇文章,如果觉得英文的看的费劲,这里有中文的译本,来自明城的译作

4、这个里面还有一个值得大家注意的问题,如果你把doctype去掉,那么在IE7、ie8下将无法得到你要的效果,因为他会默认为怪异模式显示。 所以请大家以后写html的时候务必加上doctype。

 

PS:最近一直在试着封装一些效果。但如果完全剥离css效率太低,不剥离的话需要至少2个文件。头疼的很,不知道大家有什么好的办法解决的没有~~另外我不想把多个功能的css或js写到一个文件里,你们明白的,实际应用中这样做并不好

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值