Avatar billede filia Juniormester
21. februar 2007 - 19:08 Der er 1 løsning

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
Avatar billede filia Juniormester
16. februar 2011 - 18:45 #1
På tide at lukke dette spørgsmål! End ikke jeg forstår det længere ...
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
Kurser inden for grundlæggende programmering

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester