花了1个小时把网上一个现成的JS对联广告代码整理了下,格式会比较清楚,也更通用化,比较面向对象一点呵呵。使用方法很简单。
注意本脚本需要结合jquery使用。如果你不是采用jquery的,只要把$调用都改成document.getElementById即可,没有应用jquery的其他api。
分类:JavaScript
一个整理得比较清楚的JS对联广告代码
Supesite替换后台编辑器为ckeditor
Supesite的后台编辑器是ss自己写的,不怎么好用,尤其是查看源代码的功能,所有代码都粘在一起,没有格式化,根本看不了,跟discuz论坛的编辑器对比起来差距太大了,估计这个编辑器是comsenz早期出的东西,supesite一直没有更新,所以编辑器太古董了。最近有些受不了,决定将supesite的编辑器替换为业内目前流行的ckeditor,ckeditor的前身就是fckeditor,相信做web的应该都会听过。
Open Flash Chart 在IE下显示错误的bug
图表在首次打开IE6进去后可以正常看到,但是这个时候再点击其他的图表,就出错了,IE8,firefox等浏览器不会有此问题,想来想去不清楚问题所在。后来用httpwatch抓包分析了下,发现IE6第二次不会重新加载图表。shit,又是 IE6缓存问题造成的。要解决IE6的缓存问题,当然就是每次请求的时候请求地址后面附带一个随机数。
见识到chrome惊人的Javascript执行能力
说实话,每次新版本浏览器推出的时候很快就会有一系列的评测报告,但是我一向对这些评测报告不怎么感兴趣。因为无论新版本的浏览器有多牛x,至少在5年内,我还是总是要为IE6做兼容。因为我现在做的网址面向不是高端用户,就算出现一条推荐您使用更高版本的浏览器,都是对用户体验的伤害。之前一直知道chrome的Javascript评测成绩惊人,不过从来没体会到。今天结结实实的体会到,chrome的Javascript能力的惊人之处。
jQuery lightBox插件的bug解决
lightBox效果在刚出现的时候引发了一个热潮,但是最开始是基于prototype的,咱一向都用jquery,就用不上了,都用thickbox。后来出了jquery版本的lightbox插件,效果不错,就在项目中用上了。可以点此查看效果:http://www.hxfang.com/action-model-name-newhouse-itemid-13.html 但是在实际使用过程中,发现这个插件还是有些小bug要解决。
DIV高度自适应实现
项目中用到了google地图,需要地图显示的区域会自动扩展到最大,宽度的自适应是很容易的,width 100%就可以搞定,但是高度试过了几种方法都不满意,浏览器兼容性很难做,很麻烦。最后觉得还是用Javascript来实现最好。范例的代码如下:
IE6下Javascript第一次不执行,刷新后才执行
前段时间在整理fckeditor的一个相关项目时候发现,编辑器里的iframe在第一次加载的显示不出来,显示空白,但是很奇怪的,刷新就可以正常显示了。一开始以为这只是IE6下iframe加载的bug,但是最后结果发现这是IE6下Javascript延迟加载的bug。
多浏览器兼容性问题及解决方案之Javascript篇
CSS跟JavaScript开发中,最令大家头疼的问题就是浏览器兼容性了,虽然很多文章有这方面的文章,但依然让很多开发人员晕头转向,而且也不够全面。这篇文章,将全面收集css和javascript在各种浏览器下的兼容性报告,也期待各位不断补充。 由于发觉内容收集越来越多,决定将CSS跟JavaScript分开。
简单制作网页彩蛋,JavaScript实现Konami Code
Konami Code简单的说,就是键盘输入 Up, Up, Down, Down, Left, Right, Left, Right, B, A 后,页面上出现特殊的变化。这个规则来自于“魂斗罗”中的“秘技”。“秘技”的术语就叫 Konami Code。这东西还真有趣,有空也可以给自己的网页搞一个彩蛋玩玩。
让你的浏览器动起来的js代码解析
网上看到的一段很好玩的js代码,感觉写得很精妙,值得收藏。 想让你的浏览器里的图片转起来了,直接在地址栏内输入如下: javascript:R=0; x1=.1; y1=.05; x2=.25; y2=.24; x3=1.6; y3=.24; x4=300; y4=200; x5=300; y5=200; DI=document.getElementsByTagName(“img”); DIL=DI.length; function A(){for(i=0; i-DIL; i++){DIS=DI[ i ].style; DIS.position=’absolute’; DIS.left=(Math.sin(R*x1+i*x2+x3)*x4+x5)+”px”; DIS.top=(Math.cos(R*y1+i*y2+y3)*y4+y5)+”px”}R++}setInterval(‘A()’,5); void(0);