Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [CSS][JavaScript]Ukrycie iframe za pomocą z-index
Forum PHP.pl > Forum > Przedszkole
Lethys
Witam,

Posiadam skrypt który ukrywa wybraną treść, generalnie wszystko działa ze zwykłą treścią HTML, problem się pojawia gdy w ukrytą treść wklejam filmik youtube który jest w iframe.

Kod wygląda tak:

  1.  
  2. <div id="tresc" style="z-index: 2;">
  3. <div style="position: relative; width: 96%; height: 5200px; padding:1% 4%; overflow:hidden; background-color:white;" class="fakewindowcontain">
  4. // TUTAJ TREŚĆ UKRYTA
  5. <!-- ui-dialog -->
  6.  
  7. <div class="ui-overlay" style="z-index: 0;">
  8.  
  9. <div class="ui-widget-overlay" id="div1"></div><div id="div2" class="ui-widget-shadow ui-corner-all" style="width: 402px; height: 452px; position: absolute; left: 60px; top: 30px;" ></div></div>
  10. <div id="div3" style="position: absolute; width: 380px; height: 430px;left: 60px; top: 30px; padding: 10px;" class="ui-widget ui-widget-content ui-corner-all">
  11. <div id="div4" class="ui-dialog-content ui-widget-content" style="background: none; border: 0;" >
  12. <p><body onload="initElement()";>
  13.  
  14. // TUTAJ TREŚĆ ODKRYTA
  15. </body></p>
  16. </div>
  17. </div>
  18.  
  19. </div>
  20. </div>


JS polega po prostu na zmienianiu z-index (div1,div2,div3,div4) na -3 jeżeli chcemy odkryć stronę. Domyślnie ustawione jest na z-index 0.

Kiedy wklejam kod filmiku yt np.:

  1. <iframe width="560" height="315" src="http://www.youtube.com/embed/TYYyMu3pzL4" frameborder="0" allowfullscreen></iframe>


to iframe zawsze jest na wierzu mimo iż jest w miejscu kod HTML który normalnie jest zakryty. Próbowałem zmieniać z-index iframowi ale nic to nie dawało.
croc
A nie łatwiej bawić się z visibility?
lobopol
ja tam bym go wypchnął za krawędź strony position:fixed i np. left:-9999px
Lethys
Spróbowałem z visiblity:

Jak zakryte:

  1. document.getElementById("filmik").style.visiblity = "hidden";


Jak odkryte:

  1. document.getElementById("filmik").style.visiblity = "visible";



i div:

  1. <iframe id="filmik" width="560" height="315" src="http://www.youtube.com/embed/pa14VNsdSYM" frameborder="0" allowfullscreen></iframe>


Nadal wywala filmik yt jako pierwsza wartstwa na stronie, nie da sie zakryc...
Oidar
Jest tak dlatego że filmik z YT jest wyświetlany we flashu, a on automatycznie jest wyświetlany na wierzchu. Aby tak nie było należy nadać mu parametr "transparent". Poniżej przykładowy kod aby to zrobić:

  1. <object type="application/x-shockwave-flash" data="jakiś.swf" width="1200" height="164" >
  2. <param name="movie" value="jakiś.swf" />
  3. <param name="wmode" value="transparent">
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.