Foto's popup in ander Frame: popup close werkt niet???

Status
Niet open voor verdere reacties.

vanderslikke

Gebruiker
Lid geworden
15 aug 2006
Berichten
11
Hallo,

Ik heb ergens op het internet een script opgeduikeld dat bijna exact doet wat ik wil.

Wat ik wil: de foto's in mijn linkerframe vergroot tonen in mijn middenframe middels mouseover. Bij mouseout moet de oorspronkelijke pagina weer in het middenframe terugkomen.

Dit lukt tot en met het mouseout gedeelte: de foto verschijnt netjes uitvergroot in het middenframe maar bij mouseout (over het plaatje in het linkerframe dus).

Ik gebruik de volgende code:

<head>

<script language="JavaScript">
function winopen(name) {
//de popup maken en in de variable popup steken, zodat we die kunnen wijzigen
var popup = window.open("", "home", "toolbar=no, location=no, directories=no, status=no, menubar=no, scrollbars=no, resizable=no, copyhistory=no, width=400,height=400");
popup.document.open();
popup.document.write('<html>\n<head>\n</head>\n\n<body bgcolor="#5a97b6">\n<center><br><br><img src='+name+' width=400 heigth=400></center>\n</body>\n</html>');
popup.document.close();
}

//functie die de popup moet sluiten
function winclose() {
popup.close();
}
</script>

</head>

<body>

<a href="#" name="clear.jpg" onMouseOver="winopen(name)"; onMouseOut="winopen(); return true;">
<img border="0" style="border: 0px solid #5a97b6" src="clear.jpg" width="50%" xthumbnail-orig-image="clear.jpg"></a><br><br>

</body>

Wie weet wat ik fout doe en hoe het script wel werkt???

Thanx!
Peter
 
Heb je een link naar de site waar je het script vandaan hebt?
 
Al eens gekeken naar je code die de afbeelding behandelt?
Code:
<a href="#" name="clear.jpg" onMouseOver="winopen(name)"; onMouseOut="winopen(); return true;">

Als je naar het onMouseOut event kijkt, zie je dat die WinOpen() aanroept in plaats van WinClose()
 
Telkens je verwijst naar je popup, verwijs je eigenlijk naar je variabele (var popup).
Wat je eigenlijk kunt doen, is verwijzen naar de popup zelf die je "home" genoemt hebt.

PHP:
//functie die de popup moet sluiten
function winclose() {
home.close();
};

Wat je nog kunt doen ipv die functie, is in de link waar je de popup kunt sluiten "javascript:home.close();" zetten.

PHP:
<a href="javascript:void(0);" onMouseDown="javascript:home.close();"><img src.......></a>

Greetz : Jer:cool:en.
 
Laatst bewerkt:
opgelost

okay, uiteindelijk heb ik het volgende ergens vandaan gepikt:

In het linkerframe:
<head>
<SCRIPT language=Javascript>
function stopError() {
return true;
}
window.onerror = stopError;
</SCRIPT>

<SCRIPT>

function hidestatus(){
window.status=''
return true
}

if (document.layers)
document.captureEvents(Event.MOUSEOVER | Event.MOUSEOUT)

document.onmouseover=hidestatus
document.onmouseout=hidestatus
</SCRIPT>

<SCRIPT type=text/javascript>

function getElObj(id, win) {
if (typeof win=='undefined') win = self;
return document.getElementById ?
win.document.getElementById(id) : document.all ?
win.document.all[id] : document.layers ?
win.document.layers[id] : null;
}

function showEl(id, win) {
var o = getElObj(id, win);
if (document.layers) o.visibility='show';
else o.style.visibility='visible';
}

function hideEl(id, win) {
var o = getElObj(id, win);
if (document.layers) o.visibility='hide';
else o.style.visibility='hidden';
}

</SCRIPT>
</head>
----------------------------------
<body>
<A onmouseover="showEl('link1', parent.home)" onmouseout="hideEl('link1', parent.home)" href="#"><img src="pix/1.jpg" width="50%"></A>
</body>
-------------------------------------

in het rechter frame:

<body>

<STYLE type=text/css>

#link1, #link2, #link3, #link4, #link5, #link6
{
position: absolute;
visibility: hidden;
z-index: 1;
}

</STYLE>

<div id="link1" align="left"> <img src="pix/1.jpg" width="98%"></div>
</body>

een stuk omslachtiger denk ik maar het werkt iig wel!

Groetjes
Peter
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan