我可以创建一个javascript carousel,其中包含一个flash文件以及静态图像

Can i create a javascript carousel which contains a flash file as well as static images?

本文关键字:flash 包含一 文件 静态 图像 创建 一个 carousel javascript 我可以      更新时间:2023-09-26

我想知道是否有可能在当前仅包含静态图像的javascript carousel中包含swf。我想做的是在旋转木马内包含一个flash动画。

我想我有两个主要问题:

  • 是否有可能以与图像相同的方式循环浏览flash文件?
  • 我如何让javascript和flash交互,使flash文件知道它何时被选中?

如果有帮助,下面是我们使用的js:

$(document).ready(function(){
    var $looper = true;
    var timer;
    var currentSlide = 0;
    var cell = 0;
    var row = 1;
    var hCycles = 0;
    var aCycles = 0;
    //no. of full cycles
    var homecycles = 2;
    var aboutcycles = 2;
    //aboutSlide speed
    var fast = 1200;
    var slow = 4000;
    //hide homepage slides
    $('#slide2').fadeOut(0);
    $('#slide3').fadeOut(0);
    $('#slide4').fadeOut(0);
    $('#slide5').fadeOut(0);
    $('#slide6').fadeOut(0);    
    //hide about slides
    $('.a-slide1').fadeOut(0);
    $('.a-slide2').fadeOut(0);
    $('.a-slide3').fadeOut(0);
    $('.a-slide4').fadeOut(0);
    $('#slide-c1 .a-slide1').fadeIn(1200);
    runSlide(fast);
    function runSlide(x) {
        if ($('body').is('.about')) {
            setTimeout(function() {
                    aboutSlides();
                }, x);
            } else {
            if ($looper) {
                setTimeout(function() {
                    slideShow();    
                }, 4000);
            }
        }       
    }
    function slideShow() {
        if ($looper) {
            if (currentSlide++ < 6 && hCycles < homecycles) {
                $('#slide'+ currentSlide).fadeOut(1200);
                if (currentSlide == 6) {
                    $('#slide1').fadeIn(1200);
                    $('#slide-wrapper li').removeClass('active');
                    $('#btn1').addClass('active');
                    currentSlide = 0;
                    hCycles = hCycles+1;
                } else {
                    $('#slide'+ (currentSlide+1)).fadeIn(1200);
                    $('#slide-wrapper li').removeClass('active');
                    $('#btn'+ (currentSlide+1)).addClass('active');
                }
                runSlide();
            } else {
                $looper = false;
            }
        }
    };
    $('#slide-wrapper li').each(function(index) {
        $('#btn'+(index+1)).click(function(){
            $looper = false;
            $('.slide').fadeOut(1200);
            $('#slide'+ (index+1)).fadeIn(1200);
            $('#slide-wrapper li').removeClass('active');
            $(this).addClass('active');
        });
    });

    function aboutSlides() {
            if (cell++ < 3 && aCycles < aboutcycles) {
                if (cell == 3) {
                    if (row < 3) {
                        row = row+1;    
                    } else {
                        row = 1;
                        aCycles = aCycles+1;
                    }
                    var hide = (row-1);
                    if ((row-1) == 0) {hide = 3}
                    $('#slide-c1 .a-slide'+ hide).fadeOut(1200);
                    $('#slide-c1 .a-slide'+row).fadeIn(1200);
                    cell = 0;
                        runSlide(fast);
                } else {
                    $('#slide-c'+(cell+1)+' .a-slide'+ (row-1)).fadeOut(1200);
                    $('#slide-c'+(cell+1)+' .a-slide'+(row)).fadeIn(1200);
                    if (cell == 2) {
                        runSlide(slow);
                    } else {
                        runSlide(fast);
                    }
                }
            } else {
                // create the final strip
                $('#slide-c3 .a-slide3').fadeOut(1200);
                $('#slide-c3 .a-slide4').fadeIn(1200);  
            }
        }
});

谢谢!

无论你想在幻灯片中放什么内容都没有任何问题。只要它是有效的html,在幻灯片中就是有效的。无数的jquery/motools/etc插件可以让你指定任何你想要的内容。Flash有效。
但您可能需要恢复到另一种揭示方法。在javascript中设置SWF的不透明度是很复杂的,并且根据浏览器和flash版本的不同会产生不同的结果。如果您的flash文件是定制的,那么您可以创建一个函数,例如将其淡入白色,并从javascript调用它。但从经验来看,改变主权财富基金的不透明度是在自找麻烦。我不知道这是不是一个相关的答案,我想把它作为评论发布,但是没有任何评论按钮。哦。