imgbox使用过程中遇到的问题分享

来源:互联网 发布:天津滨海网络广播电视 编辑:程序博客网 时间:2024/05/19 20:38

由于项目需要,使用到imgbox来实现图片的点击放大功能。imgbox使用并不难,网上一搜就一顿,Demo也很清楚,但真实的项目并没有那么理想,会有各种各样的情况出现。因此,这里并不会具体介绍imgbox及其使用,只是来说一下我在真实的使用中遇到的两个让我头疼的问题。

首先介绍一下背景。首先jsp中引用了1.5的jquery包,同时也引用了imgbox必须的包(其中包括jquery.min这个包,他实际是1.3的),在这里冲突显而易见了。同时画面中多处采用ajax请求后台,获得返回的xml,并根据xml内容绘制画面具体项目,其中就包括了需要使用imgbox的地方,这竟成了另外的一个影响imgbox使用的问题。

先看第一个问题,前面已经说了,jquery.1.5包和imgbox的jquery.min包存在冲突,这个时候就该用到noConflict()了,这里不做横向展开,可以自己百度。我们通过var j = jQuery.noConflict();然后在初始化中使用j.imgbox();来使用,这来还用注意要先引用1.5包,再引用jquery.min包。这样就保证了imgbox的正常使用了。

其次,我们知道j.imgbox()在初始化的时候被加载,然后在画面中找到对应的a标签,使他们可以在拥有点击图片看大图的效果,这一切都是建立在这些a标签是已经存在的,可以被j.imgbox();找的到的,才会有效,而我的画面是在这个初始化过程之后另外绘制的,imgbox这个笨蛋事先是并不知道我画面中有这些东西存在的,因此,要解决这个问题就要想办法把j,imgbox()加载时机延后一些,要等到画面绘制完再加载它。因为整个画面都是各种jquery绘制的,所以就可以把j.imgbox()放到对应绘制画面的后面就可以了。

原创粉丝点击