imgbox使用過程中遇到的問題分享

由於項目需要,使用到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()放到對應繪製畫面的後面就可以了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章