2010-05-13 20 views
5

Merhaba Birkaç bağlantıyı gösteren bir flash menüm var, ancak kullanıcı oturum açtığında menüyü menü1'den menu2'ye değiştirmek istiyorum ... böylece "Kayıt" yerine "Hesabım" görüntülenecekFlaş kaynağı değiştir ile jquery?

aşağıdaki kod benim flaş içindir:

<div id="menu"> 
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=9,0,0,0" width="825" height="69" id="menu1" align="middle"> 
<param name="allowScriptAccess" value="sameDomain" /> 
<param name="allowFullScreen" value="false" /> 
<param name="movie" value="menu1.swf" /><param name="quality" value="high" /><param name="wmode" value="transparent" /><param name="bgcolor" value="#ffffff" /> <embed src="menu1.swf" quality="high" wmode="transparent" bgcolor="#ffffff" width="825" height="69" name="menu1" align="middle" allowScriptAccess="sameDomain" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" /> 
</object> 
</div> 

Php: Bu

if (loggedin()) 
{ 

    echo '<script type="text/javascript"> 
    CHANGE FLASH LINK HERE 
    </script>'; 


} 

yapılabilir tekrar dışarı her şeyden kod yazmak zorunda kalmadan?

Teşekkür :)

cevap

6

Kullanım .attr():

$(document).ready(function() { 
    $("#menu > object > embed").attr("src", "new link"); 
}); 
+0

Bu kolay oldu! : D Görünüşe göre bunu cevap olarak kabul etmek için 6 dakika beklemeliyim..haha – Elliott

0

loggedin() Eğer sunucu tarafında yapılan bir yükleme zamanı çek, neden sadece PHP çıktı değiştirecek mi?

<div id="menu"> 
    <?php if (loggedin()) { ?> 
     <object ...> ... 
      <param name="movie" value="menu2.swf" /> ... 
     </object> 
    <?php } else { ?> 
     <object ...> ... 
      <param name="movie" value="menu1.swf" /> ... 
     </object> 
    <?php } ?> 
</div> 

Eğer gerçekten o zaman evet, yeni bir Flash nesnesi olmalıdır senaryodan bunu (innerHTML veya DOM yöntemlerle veya sizin için bunu yapmak için SWFObject gibi bir komut dosyası alma) gerekiyorsa

. Bir eklenti nesnesinin kaynağını değiştirmek, güvenilir bir şekilde çapraz tarayıcı (özellikle IE) yapabileceğiniz bir şey değildir.

Her iki menüyü sayfaya eklemek daha iyidir ve bunlardan birini gizlemek için display kullanın. Kullanılabilirlik, erişilebilirlik ve SEO felaketi olma eğiliminde olan Flash menülerinin kullanılmaması neredeyse kesinlikle daha iyi olur.

JQuery ve HTML5/CSS3/etc içine yerleştirilmiş çok fazla animasyon olasılığınız var. Flash menüleri yani 2003'tür.