Avatar billede insomniac Nybegynder
12. november 2005 - 09:24 Der er 14 kommentarer og
1 løsning

Kan denne "hover"-navigation kombineres med roll-over?

Fandt for et stykke tid siden denne seje navigation på nettet og har forgæves forsøgt at kombinere den med en roll-over; forstået sådan, at når man holder cursoren over et link menuen vil der, som det hele tiden er sket, blive vist en tekst-beskrivelse af destinationen, SAMTIDIG med at en gif roll-over eksekveres et andet sted på sammme webpage..det sidste har jeg ikke kunnet for til at lykkes...

Er der nogen der har et bud på hvordan dette kunne gøres (rolloveren behøver i sig selv ikke være en klik-bar navigation, blot et visuelt clue)?

<head>
       
       
        <style type="text/css">

#zeromenu{
border: 1px;
width: 140px;
background-color: #696969;
}

#zeromenu a{
font: bold 10px Verdana;
padding: 2px;
padding-left: 4px;
display: block;
width: #808080;
color: red;
text-decoration: none;
border-bottom: 1px;
}

html>body #zeromenu a{
width: auto;
}

#zeromenu a:hover{
background-color: #222222;
color: #333333;
}

#tabledescription{
font: bold 10px Verdana;
color: #212121;
width: 100%;
height: 3em;
padding: 2px;
filter:alpha(opacity=0);
-moz-opacity:0;
}

</style>

<script type="text/javascript">



var baseopacity=0

function showtext(thetext){
if (!document.getElementById)
return
textcontainerobj=document.getElementById("tabledescription")
browserdetect=textcontainerobj.filters? "ie" : typeof textcontainerobj.style.MozOpacity=="string"? "mozilla" : ""
instantset(baseopacity)
document.getElementById("tabledescription").innerHTML=thetext
highlighting=setInterval("gradualfade(textcontainerobj)",50)
}

function hidetext(){
cleartimer()
instantset(baseopacity)
}

function instantset(degree){
if (browserdetect=="mozilla")
textcontainerobj.style.MozOpacity=degree/100
else if (browserdetect=="ie")
textcontainerobj.filters.alpha.opacity=degree
else if (document.getElementById && baseopacity==0)
document.getElementById("tabledescription").innerHTML=""
}

function cleartimer(){
if (window.highlighting) clearInterval(highlighting)
}

function gradualfade(cur2){
if (browserdetect=="mozilla" && cur2.style.MozOpacity<1)
cur2.style.MozOpacity=Math.min(parseFloat(cur2.style.MozOpacity)+0.2, 0.99)
else if (browserdetect=="ie" && cur2.filters.alpha.opacity<100)
cur2.filters.alpha.opacity+=20
else if (window.highlighting)
clearInterval(highlighting)
}

</script>
       
       
    </head>

    <body>

<td valign="top"><div id="zeromenu">

<a href="http://www.javasite1.com" onMouseover="showtext('site1')" onMouseout="hidetext()">go1</a>
<a href="http://www.site2.com" onMouseover="showtext('site2')" onMouseout="hidetext()">go2</a>
<a href="http://www.site3.com onMouseover="showtext('site3')" onMouseout="hidetext()">go2</a>
<a href="http://www.site4.com" onMouseover="showtext('site4')" onMouseout="hidetext()">go4</a>
<a href="http://www.site5.com" onMouseover="showtext('site5')" onMouseout="hidetext()">go5</a><p></p>
<div id="tabledescription"></div>
</div>
Avatar billede psykochicken Nybegynder
13. november 2005 - 03:48 #1
prøv at lave en lille tilføjelse til funktionerne showtext og hidetext:

function showtext(thetext,thepic){
if (!document.getElementById)
return
textcontainerobj=document.getElementById("tabledescription")
browserdetect=textcontainerobj.filters? "ie" : typeof textcontainerobj.style.MozOpacity=="string"? "mozilla" : ""
instantset(baseopacity)
document.getElementById("tabledescription").innerHTML=thetext
highlighting=setInterval("gradualfade(textcontainerobj)",50)
document.getElementById("mypic").src = thepic;
}

function hidetext(thepic){
cleartimer()
instantset(baseopacity)
document.getElementById("mypic").src = thepic;
}

og
<table>
<tr>
  <td valign="top"><div id="zeromenu">
  <a href="http://www.javasite1.com" onMouseover="showtext('site1','1.gif')" onMouseout="hidetext('default.gif')">go1</a>
  <a href="http://www.site2.com" onMouseover="showtext('site2','2.gif')" onMouseout="hidetext('default.gif')">go2</a>
  <a href="http://www.site3.com" onMouseover="showtext('site3','3.gif')" onMouseout="hidetext('default.gif')">go2</a>
  <a href="http://www.site4.com" onMouseover="showtext('site4','4.gif')" onMouseout="hidetext('default.gif')">go4</a>
  <a href="http://www.site5.com" onMouseover="showtext('site5','5.gif')" onMouseout="hidetext('default.gif')">go5</a><br>
  <div id="tabledescription"></div>
  </td>
</tr>
</table>
<img src="default.gif" alt="billede" id="mypic">

/psc
Avatar billede insomniac Nybegynder
13. november 2005 - 11:33 #2
Super!!! It works like a bomb! :-)

Skal lige finde ud hvordan jeg får givet dig point.......?
Avatar billede insomniac Nybegynder
13. november 2005 - 12:55 #3
Bliver self. lige mega-ambitiøs/krævende:

Hvis man istedet for den foreslåede løsning, ville have en unik roll-over (på hver sin position/hver sin celle i en tabel) for hvert menupunkt - forstået som en default1.gif/1.gif, default2.gif/2gif osv - ville det så være muligt/hvordan?

De bedste hilsner
Insomniac
Avatar billede psykochicken Nybegynder
13. november 2005 - 15:12 #4
ja - noget i stil med:
function showtext(thetext,elm,thepic){
if (!document.getElementById)
return
textcontainerobj=document.getElementById("tabledescription")
browserdetect=textcontainerobj.filters? "ie" : typeof textcontainerobj.style.MozOpacity=="string"? "mozilla" : ""
instantset(baseopacity)
document.getElementById("tabledescription").innerHTML=thetext
highlighting=setInterval("gradualfade(textcontainerobj)",50)
document.getElementById(elm.id + "_pic").src = thepic;
}

function hidetext(elm,thepic){
cleartimer()
instantset(baseopacity)
document.getElementById(elm.id + "_pic").src = thepic;
}

og laver en sammenhæng mellem id på link og id på billederne:

<table>
  <tr>
    <td valign="top" colspan="5"><div id="zeromenu">
      <a href="http://www.javasite1.com" id="a1" onMouseover="showtext('site1',this,'1.gif');" onMouseout="hidetext(this,'default1.gif');">go1</a>
      <a href="http://www.site2.com" id="a2" onMouseover="showtext('site2',this,'2.gif')" onMouseout="hidetext(this,'default2.gif')">go2</a>
      <a href="http://www.site3.com" id="a3" onMouseover="showtext('site3',this,'3.gif')" onMouseout="hidetext(this,'default3.gif')">go2</a>
      <a href="http://www.site4.com" id="a4" onMouseover="showtext('site4',this,'4.gif')" onMouseout="hidetext(this,'default4.gif')">go4</a>
      <a href="http://www.site5.com" id="a5" onMouseover="showtext('site5',this,'5.gif')" onMouseout="hidetext(this,'default5.gif')">go5</a><br>
      <div id="tabledescription"></div>
    </td>
  </tr>
  <tr>
    <td><img src="default1.gif" id="a1_pic" alt="billede1"></td>
    <td><img src="default2.gif" id="a2_pic" alt="billede2"></td>
    <td><img src="default3.gif" id="a3_pic" alt="billede3"></td>
    <td><img src="default4.gif" id="a4_pic" alt="billede4"></td>
    <td><img src="default5.gif" id="a5_pic" alt="billede5"></td>
  </tr>
</table>

...og point kan du først give, hvis jeg giver et svar i stedet for en kommentar - men et svar får du først når skidtet virker ;o)

/psc
Avatar billede insomniac Nybegynder
13. november 2005 - 18:15 #5
Det virker helt perfekt!!! Tak for hjælpen!

(kan vel bare sætte en alm. preloader til at loade gifs uden det konflitker med noget?)

Hvad arbejder en psykochicken med til daglig - noget indefor området*S*?

Points'ene er dine
Avatar billede psykochicken Nybegynder
13. november 2005 - 19:15 #6
- velbekomme :o)

..preload burde ikke give problemer - selvfølgelig afhængig af, hvordan koden ser ud og hvordan den bliver fyret af !

...og nej - en psykochicken har bare en hobby og deltager her på eksperten for selv at lære noget ;o)

/psc
Avatar billede insomniac Nybegynder
14. november 2005 - 16:11 #7
Håber du fik points'ene (trykkede Accepter, men det er ikke særligt tydeligt hvad det bevirker - tydeligvis ny her *GG*) Fyrede osse lige noget karma af!

all the best!
Avatar billede psykochicken Nybegynder
16. november 2005 - 00:38 #8
nej jeg fik ingen point, men det gør heller ikke noget - tak for karma ;o)

/psc
Avatar billede roenving Novice
16. november 2005 - 00:46 #9
Husk at markere navnet i boksen til venstre før du trykker på Acceptér !-)

-- se f.eks. også: http://expfaq.1go.dk ...
Avatar billede insomniac Nybegynder
16. november 2005 - 20:07 #10
that's it!!! :-)
Avatar billede insomniac Nybegynder
17. november 2005 - 17:15 #11
..har prøvet at få menuen til at ligge vertikalt midt på siden ved at smide tabellen ind i en celle (med atri. valign="middle"; se osse nedenstående) i en ny tabel - dette plejer at virke men ikke her. Kunne det evt. have noget med scriptet (eller style'n at gøre) - er der en smart løsning på det? På forhånd tak!!

<table>
  <tr>
<td valign="middle">
<table>
  <tr>
    <td colspan="5"><div id="zeromenu">
      <a href="http://www.javasite1.com" id="a1" onMouseover="showtext('site1',this,'1.gif');" onMouseout="hidetext(this,'default1.gif');">go1</a>
      <a href="http://www.site2.com" id="a2" onMouseover="showtext('site2',this,'2.gif')" onMouseout="hidetext(this,'default2.gif')">go2</a>
      <a href="http://www.site3.com" id="a3" onMouseover="showtext('site3',this,'3.gif')" onMouseout="hidetext(this,'default3.gif')">go2</a>
      <a href="http://www.site4.com" id="a4" onMouseover="showtext('site4',this,'4.gif')" onMouseout="hidetext(this,'default4.gif')">go4</a>
      <a href="http://www.site5.com" id="a5" onMouseover="showtext('site5',this,'5.gif')" onMouseout="hidetext(this,'default5.gif')">go5</a><br>
      <div id="tabledescription"></div>
    </td>
  </tr>
  <tr>
    <td><img src="default1.gif" id="a1_pic" alt="billede1"></td>
    <td><img src="default2.gif" id="a2_pic" alt="billede2"></td>
    <td><img src="default3.gif" id="a3_pic" alt="billede3"></td>
    <td><img src="default4.gif" id="a4_pic" alt="billede4"></td>
    <td><img src="default5.gif" id="a5_pic" alt="billede5"></td>
  </tr>
</table>
</td>
</tr>
</table>
Avatar billede psykochicken Nybegynder
17. november 2005 - 19:13 #12
Prøv at sætte en højde på cellen:

<table>
  <tr>
    <td style="height:600px;valign:middle;">
      <table>
        <tr>
          <td valign="top" colspan="5"><div id="zeromenu">.....osv

/psc
Avatar billede insomniac Nybegynder
17. november 2005 - 21:10 #13
Tak for svaret - det placerer menuem lavere på siden, men holder den ikke centreret vertikalt hvis browservinduets størrelse ændres...
Avatar billede psykochicken Nybegynder
17. november 2005 - 22:18 #14
Ved ikke hvor godt det er, men...

Tilføj til din css:
html,body {height:100%}

og:
<table style="height:100%;">
  <tr>
    <td style="valign:middle;">
      <table>
        <tr>
          <td valign="top" colspan="5"><div id="zeromenu">...osv

/psc
Avatar billede insomniac Nybegynder
17. november 2005 - 22:49 #15
genialt - tak
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