作者ff760725 (信圆香,得永萌。)
看板Ajax
标题[问题] 脚本越来越肥了,求优化方案
时间Mon Jul 2 21:36:54 2012
我正在写一个将某网页游戏许多图片都替换掉的script
里面有很多像是这种的内容
//--------------------------------------------------------------------
//www.erepublik.com/en/economy/advanced-buildings
//--------------------------------------------------------------------
if (document.location.toString().indexOf("/economy/advanced-buildings")!==-1)
{
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_100.png']").attr('src','
http://i.imgur.com/qVEfJ.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_200.png']").attr('src','
http://i.imgur.com/RLJEh.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_300.png']").attr('src','
http://i.imgur.com/TeWP9.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_400.png']").attr('src','
http://i.imgur.com/I3rRj.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_500.png']").attr('src','
http://i.imgur.com/pAbTR.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/health_600.png']").attr('src','
http://i.imgur.com/RGeQb.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/special_50.png']").attr('src','
http://i.imgur.com/W34wz.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/special_100.png']").attr('src','
http://i.imgur.com/DW37w.png');
$(".listing_holder > .list_group > .listing > .area_pic > img[src=
'
http://www.erepublik.com/images/modules/myland/buildings
/special_200.png']").attr('src','
http://i.imgur.com/V458I.png');
};
但在不知不觉间随着要替换的图片越来越多,script也越来越肥
现在已经超过100kb了,而且在执行上也能感觉到有迟钝的情形发生...
请问有优化方案吗?
感谢 <(_ _)>
附上原script
虽然以上的最新一段还没上传到网上,但原理都是一样的
http://synex520free.kilu.de/0_plugin/Touhou.user.js
--
无论在什麽游戏中,只有勇於面对的人才会获得报酬。
游戏虽然不是人生,但人生却是游戏。
最糟糕的游戏平衡度,不亲切的NPC,前後矛盾的剧本。
但是,能不能享受这个游戏则在於个人。
即使是垃圾游戏,真正投入的话或许能感受到意外的乐趣,结束时反而会认为这是个名作
也说不定。 冈本 タクヤ《千の剣の舞う空に》
--
※ 发信站: 批踢踢实业坊(ptt.cc)
◆ From: 122.117.183.232
※ 编辑: ff760725 来自: 122.117.183.232 (07/02 21:42)
1F:推 eight0:改用纯JavaScript 07/02 22:11
2F:→ j100002ben:怎麽不把listing_holder .area_pic > img下面的img一次 07/02 22:45
3F:→ j100002ben:抓出来回圈跑一次,图片url可以用json直接key-value换 07/02 22:45
4F:→ j100002ben:还有,前面selector的阶层不要太多..可以减少就少些吧. 07/02 22:46
5F:→ j100002ben:如果可以的话,不要用src,用CSS Sprite感觉比较好.. 07/02 22:48
6F:→ j100002ben:原本的src直接换成blank.gif就好了.. 07/02 22:48
7F:→ j100002ben:我有调好得Code,不过没啥时间测试,私信来吧XD 07/02 23:12
8F:→ j100002ben:不过我不确定效能会不会比较好啦...应该会(被打) 07/02 23:12
9F:→ mesak:似乎是游戏的布景阿....如果可以改 css 直接套 css 3 比较快 07/04 14:47