Fortsat, fortsat: Billedet skal åbne i en celle
Efter en kæmpe indsats her fra eksperten samt egen fiflen, har jeg fået et fint script til udskiftning af billeder i celler med java script:http://www.eksperten.dk/spm/730605
Det ydmygt udseende eksempel ligger her:
http://www.gribkarpen.dk/_test_javascript_ok_seneste.htm
Det er meningen, at både klik i teksten og på billedet skal åbne en url (her eksperten.dk) i nyt vindue. Det er det med nyt vindue, der ikke virker helt.
Ved klik på billedet fik jeg det på plads med target/blank.
For at løse det med teksten også, troede jeg, at jeg bare kunne skifte 'parent' ud med 'blank', men det kunne jeg ikke.
I stedet har jeg sat linket ind på anden vis, og det virker ok (Prøv blå, rød og gul).
Fra den brune er det det oprindlige script, som ikke åbner i nyt vindue, når der klikkes på tekst.
Hvordan kan det være - og hvorfor kan jeg ikke bare skifte 'parent' ud med 'blank' - ?
Er der en bedre løsning end, den, jeg selv har lavet i blå, rød og gul?
En anden lille ting er, at det script, der gælder i kilden for blå, rød og gul (og som virker), ser lidt mærkeligt ud, når jeg skriver det ind i koden (i Dreamweaver), næsten som om, der er fejl: Hver anden linie har forskellig farve (blå hhv. grønne koder osv.), selvom koderne er identiske.
Bortset fra det, ser det rigtigt nok ud. Kender nogen det? (Det er vist en småting, for det virker jo alligevel.)
Her er kilde og script:
Først scriptet (.js):
function SymError()
{
return true;
}
window.onerror = SymError;
var SymRealWinOpen = window.open;
function SymWinOpen(url, name, attributes)
{
return (new Object());
}
window.open = SymWinOpen;
function MM_findObj(n, d) { //v4.01
var p,i,x; if(!d) d=document; if((p=n.indexOf("?"))>0&&parent.frames.length) {
d=parent.frames[n.substring(p+1)].document; n=n.substring(0,p);}
if(!(x=d[n])&&d.all) x=d.all[n]; for (i=0;!x&&i<d.forms.length;i++) x=d.forms[i][n];
for(i=0;!x&&d.layers&&i<d.layers.length;i++) x=MM_findObj(n,d.layers[i].document);
if(!x && d.getElementById) x=d.getElementById(n); return x;
}
var SymRealOnLoad;
var SymRealOnUnload;
function SymOnUnload()
{
window.open = SymWinOpen;
if(SymRealOnUnload != null)
SymRealOnUnload();
}
function SymOnLoad()
{
if(SymRealOnLoad != null)
SymRealOnLoad();
window.open = SymRealWinOpen;
SymRealOnUnload = window.onunload;
window.onunload = SymOnUnload;
}
SymRealOnLoad = window.onload;
window.onload = SymOnLoad;
function MM_showHideLayers() { //v6.0
var i,p,v,obj,args=MM_showHideLayers.arguments;
for (i=0; i<(args.length-2); i+=3) if ((obj=MM_findObj(args[i]))!=null) { v=args[i+2];
if (obj.style) { obj=obj.style; v=(v=='show')?'visible':(v=='hide')?'hidden':v; }
obj.visibility=v; }
}
function MM_goToURL() { //v3.0
var i, args=MM_goToURL.arguments; document.MM_returnValue = false;
for (i=0; i<(args.length-1); i+=2) eval(args[i]+".location='"+args[i+1]+"'");
}
- - -
Kilden:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
<title>Untitled Document</title>
<script type="text/JavaScript" src="testjava_celle.js">
<!--
//-->
</script>
<style type="text/css">
<!--
body {
background-color: #ffffff;
}
.BilledTD {
background-color:#ffffff;
width:000px;
height:auto;
}
.MyLayer1 {
z-index:1;
top: 0;
visibility:hidden;
margin-left:0px;
margin-right:0px;
margin-top:0px;
margin-bottom:0px;
width:200px;
height:200px;
overflow:hidden;
}
.MyLayer2 {
z-index:1;
top: 0;
visibility:hidden;
margin-left:0px;
margin-right:0px;
margin-top:-200px;
margin-bottom:0px;
width:200px;
height:200px;
overflow:hidden;
}
.Pics {
width:200px;
height:200px;
border:none;
}
a:link {
color: #666666;
text-decoration:none;
font-size:12px;
}
a {
font-family: Arial, Helvetica, sans-serif;
font-size: 12px;
}
a:visited {
text-decoration: none;
color: #666666;
}
a:hover {
text-decoration: none;
color: #666666;
}
a:active {
text-decoration: none;
color: #666666;
}
-->
</style>
</head>
<body>
<table cellpadding="0">
<tr>
<td class="BilledTD" height="200px">
<div id="Layer1" class="MyLayer1"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_blaa.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer2" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_roed.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer3" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_gul.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer4" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_brun.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer5" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_groen.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer6" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_graa.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
<div id="Layer7" class="MyLayer2"><a href="http://www.eksperten.dk" target="blank"><img class="Pics" src="beta/javascript/200x200_pink.gif" longdesc="http://www.eksperten.dk" alt=""></a> </div>
</td>
</tr>
<tr>
<td>
<br />
<div><a href="http://www.eksperten.dk" target="_blank" return document.MM_returnValue;return document.MM_returnValue" onMouseOver="MM_showHideLayers('Layer1','','show'); MM_showHideLayers('Layer2','','hide');MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer6','','hide'); MM_showHideLayers('Layer7','','hide')">Se blå!</a></div>
<br />
<div><a href="http://www.eksperten.dk" target="_blank" return document.MM_returnValue;return document.MM_returnValue" onMouseOver="MM_showHideLayers('Layer2','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer6','','hide'); MM_showHideLayers('Layer7','','hide')">Se rød!</a></div>
<br />
<div><a href="http://www.eksperten.dk" target="_blank" return document.MM_returnValue;return document.MM_returnValue" onMouseOver="MM_showHideLayers('Layer3','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer2','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer6','','hide'); MM_showHideLayers('Layer7','','hide')">Se gul!</a></div>
<br />
<div><a href="#" onMouseOver="MM_showHideLayers('Layer4','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer2','','hide'); MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer6','','hide'); MM_showHideLayers('Layer7','','hide')"onClick="MM_goToURL('parent','http://www.eksperten.dk'); return document.MM_returnValue;return document.MM_returnValue">Se brun!</a></div>
<br />
<div><a href="#" onMouseOver="MM_showHideLayers('Layer5','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer2','','hide'); MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer6','','hide'); MM_showHideLayers('Layer7','','hide')"onClick="MM_goToURL('parent','http://www.eksperten.dk'); return document.MM_returnValue;return document.MM_returnValue">Se grøn!</a></div>
<br />
<div><a href="#" style="text-decoration:none" onMouseOver="MM_showHideLayers('Layer6','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer2','','hide'); MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer7','','hide')"onClick="MM_goToURL('parent','http://www.eksperten.dk'); return document.MM_returnValue;return document.MM_returnValue">Se grå!</a></div>
<br />
<div><a href="#" onMouseOver="MM_showHideLayers('Layer7','','show'); MM_showHideLayers('Layer1','','hide');MM_showHideLayers('Layer2','','hide'); MM_showHideLayers('Layer3','','hide'); MM_showHideLayers('Layer4','','hide'); MM_showHideLayers('Layer5','','hide'); MM_showHideLayers('Layer6','','hide')"onClick="MM_goToURL('parent','http://www.eksperten.dk'); return document.MM_returnValue;return document.MM_returnValue">Se pink!</a></div> </td>
</tr>
</table>
</body>
</html>
- - - -
Små spørgsmål, kan man sige - der fylder temmelig meget -!!
:-)
filia