Могу ли я создать карусель javascript, которая содержит флэш-файл и статические изображения? - PullRequest
0 голосов
/ 11 июля 2011

Мне было интересно, возможно ли включить SWF в карусель javascript, которая в настоящее время содержит только статичные изображения.То, что я хочу сделать, это включить флэш-анимацию в карусели.

Я думаю, у меня есть два основных вопроса:

  • Можно ли циклически просматривать флэш-файлы втак же, как изображение?
  • Как заставить взаимодействовать 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);  
            }
        }

});

Спасибо!

1 Ответ

0 голосов
/ 11 июля 2011

Нет проблем с тем, какой контент вы хотите добавить в свои слайды.Пока это действительный HTML, он действителен на слайде.Бесчисленные плагины jquery / motools / etc позволяют вам указать, что вы хотите для контента.Вспышка действительна.
Но вы можете захотеть вернуться к другому методу раскрытия.Установка непрозрачности на SWF из JavaScript сложна и дает разные результаты, в зависимости от версии браузера и Flash.Если ваш флеш-файл изготовлен на заказ, то вы можете создать функцию, которая, например, сделает его белым, и вызвать его из javascript.Но по опыту, изменение непрозрачности SWF вызывает проблемы.
Я не знаю, достаточно ли это важно, чтобы быть ответом, я хотел опубликовать его в качестве комментария, но кнопки комментария нет,Ну хорошо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...