Αλλαγή Flash με κλικ σε link

Ερωτήσεις και απαντήσεις σχετικές με την HTML, XHTML και την κατασκευή σελίδων για το Web.

Συντονιστές: WebDev Moderators, Super-Moderators

Απάντηση
Άβαταρ μέλους
Apolloneos
Δημοσιεύσεις: 18
Εγγραφή: 30 Απρ 2007 20:11
Επικοινωνία:

Αλλαγή Flash με κλικ σε link

Δημοσίευση από Apolloneos » 30 Απρ 2007 20:52

Πώς μπορώ σε μια σελίδα όπου υπάρχει σε κάποιο σημείο flash, αυτό να αλλάζει (δηλαδή να μπαίνει ένα άλλο flash στη θέση του) πατώντας κάποιο link που βρίσκεται στην ίδια σελίδα; Δηλαδή να υπάρχουν στην ίδια σελίδα κάποια link που το καθένα να φορτώνει ένα διαφορετικό flash στη θέση του προηγούμενου στο ίδιο σημείο της σελίδας.

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Αλλαγή Flash με κλικ σε link

Δημοσίευση από skeftomilos » 30 Απρ 2007 21:45

Καλωσόρισες Apolloneos!

Ένας τρόπος να γίνει αυτό που περιγράφεις είναι ο εξής:

Κώδικας: Επιλογή όλων

<html>
  <head>
    <script type="text/javascript">
      function replaceFlash&#40;id, filename, width, height, transparent&#41; &#123;
        document.getElementById&#40;id&#41;.innerHTML =
          '<object classid="clsid&#58;D27CDB6E-AE6D-11cf-96B8-444553540000" codebase="http&#58;//download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,29,0" width="' + width + '" height="' + height + '">'
          + '\n<param name="movie" value="' + filename + '">'
          + '\n<param name="quality" value="best">'
          + &#40;transparent ? '\n<param name="wmode" value="transparent">' &#58; ''&#41;
          + '\n<embed src="' + filename + '" quality="best"' + &#40;transparent ? ' wmode="transparent"' &#58; ''&#41; + ' bgcolor="#ffffff" pluginspage="http&#58;//www.macromedia.com/go/getflashplayer" type="application/x-shockwave-flash" width="' + width + '" height="' + height + '">'
          + '\n</object>'
      &#125;
    </script>
  </head>
  <body>
    <div id="nasty-flash-container"></div>
    <button onclick="replaceFlash&#40;'nasty-flash-container', '1.swf', 100, 100&#41;">Pathetic Flash Animation 1</button>
    <button onclick="replaceFlash&#40;'nasty-flash-container', '2.swf', 100, 100&#41;">Ominous Flash Animation 2</button>
  </body>
</html>
Μεταφέροντας τη ρουτίνα replaceFlash σε εξωτερικό αρχείο js, υπάρχει το extra bonus ότι αποφεύγεται το "click to activate" feature του IE.

(Δε συμπαθώ πολύ τα flash όπως κατάλαβες!)
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Apolloneos
Δημοσιεύσεις: 18
Εγγραφή: 30 Απρ 2007 20:11
Επικοινωνία:

Αλλαγή Flash με κλικ σε link

Δημοσίευση από Apolloneos » 01 Μάιος 2007 01:47

Μπράβο! Αυτό ακριβώς έψαχνα! :D :clap:
Τώρα πως θα μπορούσα αντί για button να βάλω σκέτα links (δηλαδή σκέτη λέξη); Επίσης, πώς μπορώ να βάλω να προϋπάρχει ήδη κάποιο flash πριν πατηθεί κάποιο από τα link;

Άβαταρ μέλους
skeftomilos
Script Master
Δημοσιεύσεις: 2888
Εγγραφή: 07 Ιαν 2005 07:22
Τοποθεσία: Αθήνα

Αλλαγή Flash με κλικ σε link

Δημοσίευση από skeftomilos » 01 Μάιος 2007 13:48

Αντί για <button onclick="... μπορεί να μπει <a href="javascript:void(0)" onclick="...

Για να υπάρχει κάποιο flash εξαρχής, αρκεί να καλέσεις άμεσα την replaceFlash σε κάποιο σημείο ΜΕΤΑ τη δήλωση του container:

Κώδικας: Επιλογή όλων

<div id="nasty-flash-container"></div>
<script type="text/javascript">replaceFlash&#40;'nasty-flash-container', 'hereiam.swf', 100, 100&#41;</script>
The pure and simple truth is rarely pure and never simple. Ο μη νους δε σκέπτεται μη σκέψεις για το τίποτα.

Άβαταρ μέλους
Apolloneos
Δημοσιεύσεις: 18
Εγγραφή: 30 Απρ 2007 20:11
Επικοινωνία:

Αλλαγή Flash με κλικ σε link

Δημοσίευση από Apolloneos » 01 Μάιος 2007 16:13

Οκ! Ευχαριστώ πάρα πολύ! :yea:

Απάντηση

Επιστροφή στο “HTML και XHTML”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 3 επισκέπτες