【问题标题】:reinstate Jquery features after flash callbackFlash 回调后恢复 Jquery 功能
【发布时间】:2009-12-20 22:42:58
【问题描述】:

我有一个页面,它使用 jQuery.swfobject 插件将 5 个 Flash 项目嵌入到一个页面中,每个 Flash 项目都有一个使用 externalInterface 的回调。当我在 $(document).ready(function() 之外有 js 函数但 jQuery 动画不会触发时,回调会起作用 - 但是 ajax 加载会触发。

有谁知道如何让动画也能正常工作,代码如下:

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);
        });
    });});}

上面的主要部分运行良好 - 我只想使用 fadeIn 函数和悬停动画添加光泽。 jScrollpane 像 .load 一样恢复自身

问候,

MM

【问题讨论】:

  • 如果你能展示一个可以观察到问题的简单演示,那就太好了。
  • 7souls.co.uk/test.php 应该按原样显示页面
  • 当我点击画廊名称时收到 JS 错误“未定义画廊标题”。似乎这个问题与 Flash 或 jQuery 无关。
  • 顺便说一句,每个都不是必需的。只需写 $('.ghost').hover(...)。

标签: javascript jquery flash actionscript-3


【解决方案1】:

#holder_gallery动画的回调中绑定.ghost元素呢

//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);
      });
   });
});

【讨论】:

  • czarchaic & thorn,你的 cmets 的组合已经解决了事件的重新绑定。第一次我将 $('.ghost') 移到 slimbox 和 jScrollpane 调用上方,然后删除了 galleryTitle 部分,因为这些部分尚未实现,并且客户端可能根本不需要 - 做这两件事会产生一个页面现在加载并正确执行。非常感谢您的意见 - 非常感谢:D MM
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2019-02-17
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-06
相关资源
最近更新 更多