2012-01-06 81 views
1

我在我的个人网站上使用bxSlider jQuery脚本。我已经能够将它与SWF文件一起使用。有用!但是swf在这段时间内全部运行......当它们不可见时也是如此。jQuery滑块和swf

所以我想停止swf文件,当他们不可见。

两种方式(我想):

1):使用Flash变数和工作在这个变种的SWF内(我可以,我是一个闪光)。 但是:如何将flashvar从jQuery脚本发送到php页面?我发现了类似的讨论,但我需要更多关于这个特定脚本的帮助。

或:

2):杀死,删除或类似的东西隐藏的SWF和轮到他要显示时重新加载它。

回答

0

它一直以来我所做的任何Flash很长的时间,所以我不是100%肯定的停止和播放呼叫,但是文件准备的代码应该是这个样子......

$(document).ready(function(){ 
    $('#slider1').bxSlider({ 
     onAfterSlide: function(currentSlideNumber, totalSlideQty, currentSlideHtmlObject) { 
      switch (currentSlideNumber) { 
       case 0: 
        $(".slideshow_elemento object")[0].SetVariable("_play", true); 
        $(".slideshow_elemento object")[1].SetVariable("_play", false); 
        break; 
       case 1: 
        $(".slideshow_elemento object")[0].SetVariable("_play", false); 
        $(".slideshow_elemento object")[1].SetVariable("_play", true); 
        break; 
      } 
     } 
    }); 
}); 

然后,在每一个Flash动画,你需要一块手表添加到变量_play ...

function playChange(prop, oldval, newval) { 
    if (_play) { 
     Play(); 
    } else { 
     Stop(); 
    } 
    return newval; 
} 
var _play = false; 
this.watch("_play", playChange); 

这可能是不正确的 - 你可能需要一点玩的动作得到它正确的。

+0

非常感谢阿切尔。 是的,我认为actioscript部分是在旧的as2,我的flash现在在as3。但我可以与它战斗! 对我来说这个怪物跟'文档准备好'一样。为了解释我自己,我必须找出将代码粘贴到现有cose [(this)]的位置(https://github.com/wandoledzep/bxslider/blob/master/source/jquery.bxSlider.js)。今晚我要去试试。 – 2012-01-06 17:58:09

+0

你不需要粘贴在那里。它进入你的网页。只需将您主页中的$(document).ready替换为上面的那个。我带你并修改它以获得上述代码。 – Archer 2012-01-06 20:31:56

+0

太好了(谢谢!)。现在文档已准备就绪。它是[在线](http://www.riscovo.com/a-bank-of-ideas/),你可以在源代码中看到结果,你认为现在可以使用非Flash的问题部分吗? – 2012-01-07 12:09:42