不知什么时候,自己成了写JS的人了
说实话,用过很多种编程语言,但至今发现,最佩服的莫过于JS程序员,调试那叫个烦人啊,写出JQuery的那些人,要么有更好的调试工具,要么就是真正的牛人吧。
JS的调试工具,IE下,直接用IE的调试工具(IE7及以上)或者是Companion.JS
在FF下,自然是FireBug老兄了
现在,主界面上已经集成了JQuery,JQueryUI,JX,SuperFish
还记得当初把JX放到JQuery中,以及修改JX.Tree增加叶子节点的ID等属性,加起来痛苦了有一周左右,终于把JX删的删,改的改,满足了需求。
这两天呢,又遇到了SuperFish的菜单,被一个第三方ActiveX控件遮住的问题,让大家痛苦了许久。
网上找呢,也全是关于flash的东西,只要设个参数就好了。
没办法,只好去修改SuperFish的代码咯。
具体的思路是:
在菜单弹出后,弹出菜单的下方,生成一个同样大小的iframe,
var mydoc=window.frames["FrameId"].document; var objiframe = mydoc.createElement("iframe"); objiframe.id ="IFuLeU"; objiframe.style.visibility = 'hidden'; objiframe.style.top = 0; objiframe.style.left = 0; objiframe.style.width = 0; objiframe.style.height = 0; mydoc.body.appendChild(objiframe); objiframe.style.position = "absolute"; objiframe.style.top = 0; objiframe.style.left = this.offset().left-1; objiframe.style.width = this.width(); objiframe.style.height = this.height()-2; objiframe.style.visibility = 'visible';
在菜单隐藏时,将iframe销毁,
var mydoc=window.frames["FrameId"].document; var objiframe = mydoc.getElementById("IFuLeU"); mydoc.body.removeChild(objiframe);
但这样呢,还会有个小问题
就是在菜单弹出后,会有个较为明显的先被ActiveX遮住,然后菜单又将Activex遮住的过程。