Hi,
I’m not sure wether to post this in javascript or in Flash as2, since I don’t know where the error occures. Thus I post it in both.
I’m currently working on a Flash pop-up that can be integrated in several websites. I’m currently testing the code. I’ve got a flash file with a semi-transparant background that loads over the complete page, it also closes the div with the flash content once the end of the swf is reached.
The thing is, I want to prevent the user from scrolling whilst the swf is active. That’s why I disabled the overflow-Y.
Now I’ve got a javascript code that is supposed to change the body’s overflow to visible again, and I’m calling to this code in the same frame as where I disable the div with the flash in it.
But for some reason it isn’t working.
This is my complete Javascript code:
<script type="text/javascript">
<!-- Original: Gregor (legreg@legreg.de) -->
<!-- This script and many more are available free online at -->
<!-- The JavaScript Source!! http://javascript.internet.com -->
var ie4 = (document.all) ? true : false;
var ns4 = (document.layers) ? true : false;
var ns6 = (document.getElementById && !document.all) ? true : false;
function hidelayer(lay) {
if (ie4) {document.all[lay].style.visibility = "hidden";}
if (ns4) {document.layers[lay].visibility = "hide";}
if (ns6) {document.getElementById([lay]).style.display = "none";}
}
function writetolayer(lay,txt) {
if (ie4) {
document.all[lay].innerHTML = txt;
}
if (ns4) {
document[lay].document.write(txt);
document[lay].document.close();
}
if (ns6) {
over = document.getElementById([lay]);
range = document.createRange();
range.setStartBefore(over);
domfrag = range.createContextualFragment(txt);
while (over.hasChildNodes()) {
over.removeChild(over.lastChild);
}
over.appendChild(domfrag);
}
}
<!-- This is the part I added which I thought would show the scrollbar again after the flashpopup is finished -->
function showbar(){
document.getElementsByName('body')[0].style.overflowY = 'visible';
}
</script>
And in the final frame of my flash animation I first stop the swf, and then call to both functions:
//stops the movie
stop();
//this is the code that triggers the function to hide the div, and the function that should show the scrollbar
getURL(“javascript:showbar();”);
getURL(“javascript:hidelayer(‘newlayer’);”);
I’ve also got an online webtest here:
http://www.haragara.com/banner_test/
And I’ve included all the files in a zip but I can’t upload it twice so it’s in the flash thread =( same title.
Can anyone tell me what I’m doing wrong?