Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

[js/css] hide/show flash probleem in ie7

Pagina: 1
Acties:

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 10-11 21:41
Ik werk aan een website, en nu loop ik tegen een probleem aan in ie7 waar ik de herkomst niet van snap.

Ik ben net begonnen met javascript te leren, dus play nice :-)

De website waar ik aan werk heeft een dhtml menu die uitklapt bij een mousover, en inklapt bij een mouseout. Het probleem is nu dat er in de content flash kan staan, die door het menu heen gerenderd wordt, wat niet de bedoeling is. De flash een wmode="transparant" attribuut meegeven werkt niet goed, omdat er dan problemen zijn met fullscreen displayen ervan (het is flash-video).

Nu wil ik dat de flash op visibility hidden wordt gezet als het menu open staat, en weer zichtbaar wordt als het menu sluit. Dit lukt prima, alleen in ie7 is er een heel vervelend bij-effect dat de pagina even "flasht/knippert" als de flash weer zichtbaar wordt.

Heeft een van jullie enig idee hoe dit komt, en of dit te verhelpen is?

thnx in advance

De javascript:
JavaScript:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
function menuShowSub (ref) {

if(!onLoadFlag) return; 

 var refObj = document.getElementById(ref);

 if(refObj) {
  refObj.style.visibility = 'visible';
 } 
 hideFlash();
}

function menuHideSub (ref) {

 if(!onLoadFlag) return;

 var refObj = document.getElementById(ref);

 if(refObj) {
  refObj.style.visibility = 'hidden';
 }
 showTimer = setTimeout("showFlash()",100);
}

function getAllFlash()
{
 if(!onLoadFlag) return; 
 flashElements = new Array();  
  
 flashElements = getElementsByClassName(document, "span", "flashmovieplayercenter");
 

 flashEl = new Array();
 for (var count = 0; count < flashElements.length; count++)
 {
   //alert(flashElements[count].firstChild.firstChild.id);
   flashEl[count] = flashElements[count].firstChild.firstChild;
 }
 showTimer = false;
}

function hideFlash()
{
 if(showTimer!=false){clearTimeout(showTimer);}
 showTimer = false;
 for (var count = 0; count < flashEl.length; count++)
 {
  flashEl[count].style.visibility = 'hidden';
 }
}

function showFlash()
{
 if(showTimer!=false){clearTimeout(showTimer);}
 showTimer = false;
 for (var count = 0; count < flashEl.length; count++)
 {
  flashEl[count].style.visibility = 'visible';
 }
}

  • reddevil
  • Registratie: Februari 2001
  • Laatst online: 06-10 14:25
Het zou makkelijk zijn als het stukje html wat erbij hoort ook beschikbaar zou zijn of de pagina ergens in z'n geheel.

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 10-11 21:41
reddevil schreef op dinsdag 12 februari 2008 @ 09:35:
Het zou makkelijk zijn als het stukje html wat erbij hoort ook beschikbaar zou zijn of de pagina ergens in z'n geheel.
Mja, dat kan op dit moment even niet. Ik hoop dat iemand dit probleem al eens is tegengekomen en heeft getackeld. Mocht het toch nodig zijn dan zal ik een test pagina maken om het uit te leggen.

  • Little Penguin
  • Registratie: September 2000
  • Laatst online: 08-06 20:43
dossiewossie schreef op dinsdag 12 februari 2008 @ 09:06:
De website waar ik aan werk heeft een dhtml menu die uitklapt bij een mousover, en inklapt bij een mouseout. Het probleem is nu dat er in de content flash kan staan, die door het menu heen gerenderd wordt, wat niet de bedoeling is.
Hoewel het geen oplossing is tegen het probleem met het knipperen, heb ik misschien nog een nettere oplossing (voor de gebruiker dus). Je zou kunnen proberen om tussen je DHTML-menu en de flash movie een (leeg) iframe te plaatsen - dus de z-index van het iframe is dan hoger dan die van de flash-movie en lager dan die van het DHTML-menu.

Voor select-boxes (ook windowed elements) werkt deze oplossing goed in IE6, maar ik heb om eerlijk te zijn dit nog nooit getest met Flash-movies - in hoeverre het dus voor jouw probleem werkt kan ik niet beoordelen...

  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 10-11 21:41
Little Penguin schreef op dinsdag 12 februari 2008 @ 09:48:
[...]

Hoewel het geen oplossing is tegen het probleem met het knipperen, heb ik misschien nog een nettere oplossing (voor de gebruiker dus). Je zou kunnen proberen om tussen je DHTML-menu en de flash movie een (leeg) iframe te plaatsen - dus de z-index van het iframe is dan hoger dan die van de flash-movie en lager dan die van het DHTML-menu.

Voor select-boxes (ook windowed elements) werkt deze oplossing goed in IE6, maar ik heb om eerlijk te zijn dit nog nooit getest met Flash-movies - in hoeverre het dus voor jouw probleem werkt kan ik niet beoordelen...
Het gaat me nu idd even om het flikkeren, maar vind het wel een interessante oplossing. Of het echt mooier is weet ik niet, maar het is wel een lekker snelle oplossing, zal het eens testen! :-)

[ Voor 12% gewijzigd door dossiewossie op 12-02-2008 09:54 ]


  • dossiewossie
  • Registratie: Maart 2004
  • Laatst online: 10-11 21:41
*kick

Iemand een idee waarom het scherm in ie7 eenmaal knippert?
Pagina: 1