2009-12-20 78 views
1

我有一個頁面使用jQuery.swfobject插件將5個Flash項目嵌入頁面,每個Flash項目都使用externalInterface進行回調。這些回調函數在$(document).ready(function()之外具有js函數但是jQuery動畫不會觸發 - 但是ajax加載卻是這樣。在Flash回調後恢復Jquery功能

有沒有人知道如何讓動畫工作,下面的代碼:

function pageLoader(galID) { 
$('#menu').hide(); 
$('#holder_gallery').load("feeds.php", {gallery: galID}, function(){ 
$('#holder_gallery ul li a').slimbox(); 
$('#holder_gallery').jScrollPane(); 
$('.galleryTitle').text(galleryTitle); 
$('.galleryTitle').fadeIn(2000); 
$('#holder_gallery').fadeIn(2000); 

$('.ghost').each(function() { 
    $(this).hover(function() { 
      $(this).stop().animate({ opacity: 1.0 }, 300); 
     }, 
     function() { 
     $(this).stop().animate({ opacity: 0.5 }, 300); 
     }); 
    });});} 

上述工作的主要部分以及 - 我只想補充光澤重新使用淡入功能和懸停的動畫JScrollPane的恢復了本身一樣的.load

問候。 ,

MM

+0

回調這將是很好,如果你能證明一個簡單的演示,其中可以觀察到的問題是什麼。 – thorn 2009-12-20 23:47:19

+0

http://7souls.co.uk/test.php 應顯示頁面爲 – mmuller 2009-12-21 00:24:21

+0

當我點擊圖庫名稱時,出現JS錯誤'galleryTitle未定義'。似乎這個問題與Flash或jQuery無關。 – thorn 2009-12-21 00:50:51

回答

0

有關綁定的.ghost元素在#holder_gallery動畫

//existing code 
$('#holder_gallery').fadeIn(2000, function(){ 
    $('.ghost', this).each(function() { 
    $(this).hover(function() { 
     $(this).stop().animate({ opacity: 1.0 }, 300); 
    }, 
     function() { 
     $(this).stop().animate({ opacity: 0.5 }, 300); 
     }); 
    }); 
}); 
+0

czarchaic&thorn,您的評論的組合已經解決了事件的重新綁定。 1st我將$('。ghost')移動到了slimbox和jScrollpane調用之上,然後移除了galleryTitle部分,因爲這些部分尚未實現,並且可能不是客戶端要求的 - 完成這兩件事情導致現在加載並正確執行的頁面。 非常感謝您的輸入 - 這是非常感謝:D MM – mmuller 2009-12-21 20:52:59

+0

我很高興你得到它的工作。只有我一個downvote :) – czarchaic 2009-12-21 21:43:33