2011-09-13 99 views
0

我有一個頁面,我通過jsp include包含頁面頁面。我遇到的問題是兩個頁面(header.jsp和主頁面)jquery.colorbox.js。就像現在這樣,我在主頁上,而不是在header.jsp上。當我在兩個頁面上都有它時,它會弄亂主頁面上彈出的顏色框。當它只在一個或另一個頁面上時,兩個顏色框都可以工作,直到我打開主頁上的一個。一旦我打開主頁顏色框,header.jsp的對話框不再出現。jQuery - Colorbox問題

這裏是header.jsp中的代碼:

$('#logout_dialog').dialog({ 
       autoOpen: false, 
       width: 600, 
       buttons: { 
        "Yes": function() { 
         $(this).dialog("close", logoutCheck()); 
        }, 
        "No": function() { 
         $(this).dialog("close"); 
        } 
       } 
      }); 
      // Dialog Link 
      $('#logout').click(function(){ 
       $('#logout_dialog').dialog('open'); 
       return false; 
      }); 

這裏是主要頁面的代碼:

$("a[rel='import']").colorbox({opacity:.35}); 

<a rel="import" href="importBasicSearch.html" >Import File</a> 

任何想法,爲什麼發生這種情況?

**編輯* * ***

我注意到,當我點擊導入首先,我在控制檯中看到此錯誤:

$ .colorbox不是一個函數 [這個錯誤] $ .colorbox({href:「skuDetails.html ...:true,width:」75%「,height:」75%「});

但是,只要我不點擊導入所有其他的工作正常。

*編輯***

其實我剛纔注意到,每當我點擊進口和關閉顏色框,將不再讓我從主頁執行一些其他的jQuery功能。它看起來仍然在用於函數的importBasicSearch.html頁面上。

任何想法?

+0

我想在你的問題的第二句話的結尾處有一個更多的字。這兩個頁面使用?彩盒? –

+0

ahhh對不起,他們都使用jquery.colorbox.js – craigtb

回答

0

我不能完全按照你的情況,但它聽起來像你扔JS錯誤,這將阻止其他JS執行。我的猜測是你用colorbox打開的鏈接應該使用iframe進行沙盒處理。我假設你使用colorbox加載完整的HTML文檔,並且該文檔中的腳本與已經運行的腳本衝突。嘗試使用一個iframe:

$("a[rel='import']").colorbox({opacity:.35, iframe:true, width:500, height:500}); 
+0

這實際上做了工作,但它造成了更多的問題。 importBasicSearch.html文件不再成功工作。 我確實看過控制檯及其提供此錯誤時,我先單擊導入,然後單擊其他顏色框之一。只要我沒有點擊導入,所有其他人工作正常。 $ .colorbox不是函數 [Break On This Error] $ .colorbox({href:「skuDetails.html ...:true,width:」75%「,height:」75%「}); – craigtb

+0

你不能被幫助,因爲所有與你所問的問題相關的東西都隱藏在你未包括的代碼中。獲取你正在鏈接的文檔首先工作(這些問題與colorbox無關),然後嘗試打開在使用iframe的colorbox中。 – Jack