2011-07-04 96 views
0

我需要當用戶點擊一個標籤從外部頁面加載內容:

$('#anchortag').click(function() { 
    event.preventDefault(); 
    $('#recepient').hide(); 
    $('#recepient').load('otherpage.php', function(data) { 
     $.fancybox(data, {}); 
    }); 
}); 

我使用jQuery load()方法這樣做,但我想要的是現在用外部內容打開的fancybox,內容顯示在#recepient和fancybox中。如果我嘗試做:$.load(沒有指定目標),它會失敗(fancybox不顯示,我猜這個功能不起作用..)。

我如何才能打開fancybox與外部內容或其他jQuery的功能?

編輯: 這個腳本如何才能在Chrome瀏覽器下運行,而不是FF或IE?

+0

我們知道這是關於jQuery的。請停止標記您的標題。 –

+0

@Tomalak Geret'kal好的我會知道下一拍 –

回答

2

改爲使用$.get(..)load(..)將內容作爲目標對象的innerHTML放置,而您不希望這樣做。

+0

工作正常,謝謝!我不想首先使用get,因爲我認爲只有在需要傳遞變量時加載內容纔有用。 –

+0

aha。那麼,這是通過ajax(帶或不帶參數)執行常規GET請求的方式, – Bozho

0

我假設的fancybox有一個div一些地方在它的HTML,如果這是你可以做這樣的事情的情況下...

$('#anchortag').click(function() { 
    event.preventDefault(); 
    $('#recepient').hide().empty(); 
    $.ajax({ 
     url:'path/to/html', 
     success:function(data){ 
      $('#recepient').html(data); 
      /* fire fancy box here ...*/ 
     }, 
     error:function(){ 
      alert('an error occurred') 
     } 
    }); 
}); 

    <div id="recepient" style="display:none"></div> 

未測試...我也做過類似的事情與本機Jquery對話框。