2011-07-11 17 views
0

我想知道是否有可能包含一個swf在一個當前只包含空白圖像的javascript傳送帶內。我正在做的是在旋轉木馬中包含一個Flash動畫。我可以創建一個包含Flash文件以及靜態圖像的JavaScript旋轉木馬嗎?

我想我有兩個主要問題:

  • 是否有可能通過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); 
      } 
     } 

}); 

謝謝!

回答

0

對於您想放入幻燈片的任何內容,沒有任何問題。只要它是有效的html,它在幻燈片中是有效的。無數的jquery/motools/etc插件讓你指定任何你想要的內容。閃光燈有效。
但是你可能想要恢復到另一種揭示方法。根據瀏覽器和Flash版本的說法,從javascript設置swf的透明度非常複雜,併產生不同的結果。如果您的Flash文件是自定義的,那麼您可以創建一個將其淡化爲白色的函數,並從javascript中調用它。但從經驗來看,改變瑞士法郎的不透明度正在招致麻煩。
我不知道這是否足以成爲答案,我想將它發佈爲評論,但沒有任何評論按鈕。好吧。

相關問題