2009-12-20 77 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