最近几个月在做一个仿Win7界面的网页,因为是做着玩玩,再加上大四诸事缠身,也是三天打鱼两天晒网,想起来的时候写两行代码,忙了就丢在一边。
前段时间做到窗口的拖拽和调整尺寸功能。出于偷懒耍滑的考虑,打算用JqueryUI的Draggable和Resizable功能来解决问题,但是却发现无效,不管怎么拖拽,窗口还是丝毫没有反应。之后又尝试了几个Jquery的拖拽插件,都没有任何效果。
百思不得其解之下,我觉得可能是JqueryUI出了问题,于是去官网重新下载UI,结果发现当前最新的UI支持的是Jquery 1.3.2+。于是想到之前Jquery 1.4.4出的时候,看到其中的一些新特性相当眼热,把Jquery版本换成了1.4.4,难道是版本不符导致的?
于是把Jquery换成1.3.2,果然拖拽和调整尺寸功能都正常了。但是Jquery 1.3.2不支持动态绑定hover事件,而任务栏弹出窗口选择菜单的时候需要用到这个功能。如果用mouseover和mouseout来模拟的话,因为在绑定的元素中还有其他元素(比如应用程序的图片),会触发mouseout事件而导致弹出的菜单不停闪烁。如果是IE的话,菜单根本无法点选。头疼之下,想到Jquery 1.4就已经添加了动态绑定hover的功能。于是再换Jquery版本为1.4.1,问题解决。
由于Jquery的版本差异而导致的这个Bug,和Vista与XP之间的矛盾有些类似,Vista具有XP所没有的新功能,但是兼容性却比不上XP,一些旧的软件无法兼容,就好像JqueryUI在Jquery 1.4.4之中出现的问题一样。在网上搜索了一下,有关此问题的描述很少,希望对大家有所帮助
最后附上我做的半成品页面:http://www.baliqieluo.com/win.php
开发经验不足,望多指点……