Avatar billede keysersoze Ekspert
20. oktober 2000 - 16:21 Der er 1 løsning

bliv i table

Jeg har dette script:

<HTML>
<HEAD>
<STYLE>
.link { color: #333333; }
.link2 { color: #666666; }
</STYLE>
<SCRIPT LANGUAGE=\"JavaScript1.2\">
if (document.layers) {
  var html = \'\';
  html += \'<STYLE>\';
  html += \'.rewritable { position: absolute; }\';
  html += \'.placeHolder { position: relative; visibility: hidden; }\';
  html += \'<\\/STYLE>\\n\';
  document.write(html);
}
function HoverElement (content, highClass, lowClass) {
  if (content) {
// otherwise the prototype initialization creates unwanted page content
    this.id = HoverElement.cnt;
    HoverElement.elements[this.id] = this;
    this.layerId = \'HoverElement\' + HoverElement.cnt++;
    this.content = content;
    this.highClass = highClass;
    this.lowClass = lowClass || \'\';
    this.writeElement();
  }
  else  // not sure why NN4 needs that to get the prototype object   
        // initialized
    this.dummy = \'dummy\';
}
function HoverElement_writeElement () {
  var html = \'\';
  if (document.layers) {
    html += \'<SPAN ID=\"\' + this.layerId + \'\" CLASS=\"rewritable\">\';
    html += this.getLowContent();
    html += \'<\\/SPAN>\';
    html += \'<SPAN ID=\"\' + this.layerId + \'Rel\" CLASS=\"placeHolder\">\';
    html += this.getLowContent();
    html += \'<\\/SPAN>\';
  }
  else {
    html += this.getContent();
  }
  document.write(html);
}
HoverElement.prototype.writeElement = HoverElement_writeElement;
function HoverElement_mouseover () {
  var html = this.getHighContent();
  var l = this.layer;
  l.document.open();
  l.document.write(html);
  l.document.close();
}
HoverElement.prototype.mouseover = HoverElement_mouseover;
function HoverElement_mouseout () {
  var html = this.getLowContent();
  var l = this.layer;
  l.document.open();
  l.document.write(html);
  l.document.close();
}
HoverElement.prototype.mouseout = HoverElement_mouseout;
function HoverElement_init () {
  var l = this.layer = document[this.layerId];
  l.HoverElement = this;
  l.onmouseover = function (evt) {
    this.HoverElement.mouseover();
  };
  l.onmouseout = function (evt) {
    this.HoverElement.mouseout();
  }
}
HoverElement.prototype.init = HoverElement_init;
function HoverElement_getContent () {
  var html = \'\';
  html += \'<SPAN\';
  html += this.lowClass ? \' CLASS=\"\' + this.lowClass + \'\"\' : \'\';
  html += \'  ONMOUSEOVER=\"this.className = \\\'\' + this.highClass
+ \'\\\';\"\';
  html += \'  ONMOUSEOUT=\"this.className = \\\'\' + this.lowClass + \'\\\';\"\';
  html += \'>\';
  html += this.content;
  html += \'<\\/SPAN>\';
  return html;
}
HoverElement.prototype.getContent = HoverElement_getContent;
function HoverElement_getLowContent () {
  var html = \'\';
  html += \'<SPAN\';
  html += this.lowClass ? \' CLASS=\"\' + this.lowClass + \'\"\' : \'\';
  html += \'>\';
  html += this.content;
  html += \'<\\/SPAN>\';
  return html;
}
HoverElement.prototype.getLowContent = HoverElement_getLowContent;
function HoverElement_getHighContent () {
  var html = \'\';
  html += \'<SPAN\';
  html += \' CLASS=\"\' + this.highClass + \'\"\';
  html += \'>\';
  html += this.content;
  html += \'<\\/SPAN>\';
  return html;
}
HoverElement.prototype.getHighContent = HoverElement_getHighContent;
HoverElement.cnt = 0;
HoverElement.elements = new Array();
HoverElement.init = function () {
  if (document.layers)
    for (var l = 0; l < HoverElement.elements.length; l++)
      HoverElement.elements[l].init();
}
</SCRIPT>
<SCRIPT LANGUAGE=\"JavaScript1.2\">
function HoverLink (url, content, highClass, lowClass) {
  this.url = url;
  this.base = HoverElement
  this.base(content, highClass, lowClass);
}
HoverLink.prototype = new HoverElement();
function HoverLink_getLink () {
  var html = \'\';
  html += \'<A HREF=\"\' + this.url + \'\"\';
  html += this.lowClass ? \' CLASS=\"\' + this.lowClass + \'\"\' : \'\';
  html += \'  ONMOUSEOVER=\"this.className = \\\'\' + this.highClass
+ \'\\\';\"\';
  html += \'  ONMOUSEOUT=\"this.className = \\\'\' + this.lowClass + \'\\\';\"\';
  html += \'>\';
  html += this.content;
  html += \'<\\/A>\';
  return html;
}
HoverLink.prototype.getContent = HoverLink_getLink;
function HoverLink_getLowLink () {
  var html = \'\';
  html += \'<A HREF=\"\' + this.url + \'\"\';
  html += this.lowClass ? \' CLASS=\"\' + this.lowClass + \'\"\' : \'\';
  html += \'>\';
  html += this.content;
  html += \'<\\/A>\';
  return html;
}
HoverLink.prototype.getLowContent = HoverLink_getLowLink;
function HoverLink_getHighLink () {
  var html = \'\';
  html += \'<A HREF=\"\' + this.url + \'\"\';
  html += \' CLASS=\"\' + this.highClass + \'\"\';
  html += \'>\';
  html += this.content;
  html += \'<\\/A>\';
  return html;
}
HoverLink.prototype.getHighContent = HoverLink_getHighLink;
</SCRIPT>
<SCRIPT>
function init() {
  HoverElement.init();
}
</SCRIPT>
</HEAD>
<BODY ONLOAD=\"init();\">

<SCRIPT>
new HoverLink (\'http://javascript.faqts.com\',
                          \'test på vores side\', \'link\', \'link2\');
</SCRIPT>

</BODY>
</HTML>

---------

det virker næsten efter hensigten (link farve, og mouseover i både NS og IE)...

mit eneste problem er, at denne fil skal inkluderes i en anden fil (i en table), og det ser fint ud i EI, men i NS hopper link-teksten uden for tablen og op i øverste venstre hjørne af siden og det må den IKKE!

ved ændring i denne linie:

html += \'.rewritable { position: absolute; }\';

kommer linket på plads, men så virker mouseoverfunktionen ikke...
Avatar billede keysersoze Ekspert
24. oktober 2000 - 21:25 #1
lukket...
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
Vi tilbyder markedets bedste kurser inden for webudvikling

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