Avatar billede proff Nybegynder
11. oktober 2004 - 12:29 Der er 19 kommentarer og
1 løsning

Skift højreklik menu

Hej!

Kan jeg på en eller anden måde lave skifte min højreklik menu ud til en jeg selv kan bestemme width, height, background-coler, og border-coler på? Så skal jeg selvfølelig også selv kunne lave det der skal stå inde i min højreklik menu,..

Er det muligt med HTML/JAVASCRIPT/CSS?
Avatar billede roenving Novice
11. oktober 2004 - 14:53 #1
Ja, det kan du godt, men det bliver tricky at få den til at fungere crossbrowser og på forskellige styresystemer !o]

-- et andet aspekt er, at det kun vil være fornuftigt til intranet (eller intranet-agtige !-) applikationer, da ret mange mennesker flittigt udnytter de muligheder, højrekliksmenuen er født med ...

Kig for noget af grundlaget f.eks på: http://www.eksperten.dk/spm/343440 ...

-- og selve layeret kan du f.eks. bruge overLib til, men det kan godt være overkill, specielt hvis man kører i et rent IE/Win-miljø !-)

http://www.bosrup.com/web/overlib/
Avatar billede jonashn Nybegynder
11. oktober 2004 - 15:09 #2
Hvad med:
<script type="javascript">

var højde="100";
var bredde="80";
var html="u";

var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;}else {isie=0;}if(isie) {var oPopup = window.createPopup();}function dopopup(x,y) {if(isie) {
var oPopupBody = oPopup.document.body;oPopupBody.innerHTML = html;
oPopup.show(x, y, højde, bredde, document.body);}}function click(e) {if(isie)
{if(document.all) {if(event.button==2||event.button==3) {dopopup(event.x-1,event.y-1);
}}}}if(isie) {document.oncontextmenu = function() { dopopup(event.x,event.y);return false; }
document.onmousedown = click;}

</script>

Du skal bare ændre på højde (popopens højde) , bredde (dens bredde) og html, som er popopens htmlkode.
Den virker ikke i Netscape.
Avatar billede proff Nybegynder
11. oktober 2004 - 15:11 #3
roenving >
Jeg har prøvet at lave en span med mine informationer i.. Kan jeg lave sådan at når man højreklikker kommer min span frem hvor man højreklikker? Og så kommer den normale højrekliks menu ikke frem? :)

<span class="float" id="rightclickmenu" style="width:60;height:200;position:absolute;text-align:center;color:white"><font face="Arial" size="5" color="#FFFFFF">Dette er min menu</font></span>
Avatar billede proff Nybegynder
11. oktober 2004 - 15:13 #4
jonashn > Hva så hvis man klikker inden i højrekliks menuen?
Vil meget gerne afprøve mit span :)
Avatar billede roenving Novice
11. oktober 2004 - 15:30 #5
Du skal ikke bruge en span, den giver ikke en firkantet tingest, du kan bruge, du skal bruge en div, sætte den til position:absolute;display:none; og sætte links indeni til display:block; ...

-- så skal du aflæse placeringen af musen hvis klikket er på højreknappen, sætte noget med oncontextmenu til return false; og vise din div i stedet (display:block; !-)

Desværre har jeg ikke pillet konkret i det selv, men flere andre herinde har haft fat i sådan noget !o]
Avatar billede proff Nybegynder
11. oktober 2004 - 15:59 #6
Jeg synes nu min span ser helt fint ud :)
Desværre fatter jeg brik af -- så skal du aflæse placeringen af musen hvis klikket er på højreknappen, sætte noget med oncontextmenu til return false; og vise din div i stedet (display:block; !-)
Avatar billede jonashn Nybegynder
11. oktober 2004 - 17:50 #7
Her er den i en lidt mindre sammenpresset udgave. For at lave et link skal du bare sige:
"<div onclick=\"window.parent.location='url'\"><a href=\"\">linktekst</a</div>"
Du skal bare ændre url og linktekst.

<script type="text/javascript">
//Der skal kun ændres på disse variabler: html er popopens htmlkode,
//højde er højden på popopen og bredde er bredden,
var html="";
var højde="100";
var bredde="100";

//Alt under denne kommentar skal ikke ændres
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie) {
var oPopup = window.createPopup();
}

function dopopup(x,y) {
if(isie) {
var oPopupBody = oPopup.document.body;
oPopupBody.innerHTML = html;
oPopup.show(x, y, bredde, højde, document.body);
}
}

function click(e) {
if(isie) {
if(document.all) {
if(event.button==2||event.button==3) {
dopopup(event.x-1,event.y-1);
}
}
}
}

if(isie) {
document.oncontextmenu = function() { dopopup(event.x,event.y);return false; }
document.onmousedown = click;
}

</script>
Avatar billede proff Nybegynder
11. oktober 2004 - 18:04 #8
Jonessh > Jeg ved godt det ikke er noget jeg har efterspurgt.. Men hvis du højreklikker inden i højreklik menuen? Så kommer dne originale højreklik menu frem.

Man højreklikker i <td> felter.. Hvert et felt har et unikt id?
Kan du hjælpe mig med at det id bliver lagt i en variabel ved højreklik i det felt, hvis jeg forhøjer points :)?

- På forhånd tak
Avatar billede proff Nybegynder
11. oktober 2004 - 18:06 #9
Forresten:

Jeg ved godt det ikke er noget jeg har efterspurgt.. Men hvis du højreklikker inden i højreklik menuen? Så kommer dne originale højreklik menu frem. - Så skal menuen ikke komme frem.

OG

Man højreklikker i <td> felter.. Hvert et felt har et unikt id? - ID'et i feltet hedder bare id
Avatar billede jonashn Nybegynder
11. oktober 2004 - 18:08 #10
hmm... Du kan ikke disable den originale højreklik..
Jeg ville gerne hjælpe, men jeg er nødt til at gå
Avatar billede proff Nybegynder
11. oktober 2004 - 18:11 #11
Man kan vel gøre sådan at hvis man højreklikker inden i menuen så flytter den sig bare til det nye punkt?

Kan du hjælpe mig med det senere?
Også det med id'et?
Avatar billede jonashn Nybegynder
12. oktober 2004 - 19:59 #12
skal variablen der bliver ændret ved højreklik i td felterne ligge i hovedsiden eller i popoppen
Avatar billede jonashn Nybegynder
12. oktober 2004 - 20:04 #13
kan jeg få koden for popoppen, som du forestiller dig den?
Avatar billede proff Nybegynder
12. oktober 2004 - 20:14 #14
Variablen skal vel ligge i hovedsiden :)

<script type="text/javascript">
//Der skal kun ændres på disse variabler: html er popopens htmlkode,
//højde er højden på popopen og bredde er bredden,
var html="<a href="info.php?side=info&id=variablen">Info</a><BR>Gå til Lejlighed<BR>Ignorer";
var højde="69";
var bredde="59";

//Alt under denne kommentar skal ikke ændres
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie) {
var oPopup = window.createPopup();
}

function dopopup(x,y) {
if(isie) {
var oPopupBody = oPopup.document.body;
oPopupBody.innerHTML = html;
oPopup.show(x, y, bredde, højde, document.body);
}
}

function click(e) {
if(isie) {
if(document.all) {
if(event.button==2||event.button==3) {
dopopup(event.x-1,event.y-1);
}
}
}
}

if(isie) {
document.oncontextmenu = function() { dopopup(event.x,event.y);return false; }
document.onmousedown = click;
}

</script>


Kan jeg vælge en farvet tynd kant på højrekliks menuen og en anden farve end grå til den :)?
Avatar billede jonashn Nybegynder
12. oktober 2004 - 20:23 #15
det kan du godt:

var html='<div style="border: 1px solid farve"><a href="info.php?side=info&id=variablen">Info</a><br>Gå til Lejlighed<br>Ignorer</div>';

farve skal du ændre til en farve i hexadecimal værdi. Du kan også ændre i rammens tykkelse ved at f.eks. skrive 2px i stedet for 1px.
Lige noget andet: Skal der ikke ske noget hvis man klikker på gå til lejlighed eller ignorer?
Avatar billede jonashn Nybegynder
12. oktober 2004 - 20:34 #16
er det til en boligside?
Avatar billede proff Nybegynder
12. oktober 2004 - 20:35 #17
<script type="text/javascript">
//Der skal kun ændres på disse variabler: html er popopens htmlkode,
//højde er højden på popopen og bredde er bredden,
var html='<div style="border: 1px solid black;background-color:#ff0000"><a href="info.php?side=info&id=variablen"><font size="1" face="Verdana">Info</a><br>Gå til Lejlighed<br>Ignorer</font></div>';
var højde="75";
var bredde="69";

//Alt under denne kommentar skal ikke ændres
var isie=0;
if(window.navigator.appName=="Microsoft Internet Explorer"&&window.navigator.appVersion.substring(window.navigator.appVersion.indexOf("MSIE")+5,window.navigator.appVersion.indexOf("MSIE")+8)>=5.5) {
isie=1;
}
else {
isie=0;
}
if(isie) {
var oPopup = window.createPopup();
}

function dopopup(x,y) {
if(isie) {
var oPopupBody = oPopup.document.body;
oPopupBody.innerHTML = html;
oPopup.show(x, y, bredde, højde, document.body);
}
}

function click(e) {
if(isie) {
if(document.all) {
if(event.button==2||event.button==3) {
dopopup(event.x-1,event.y-1);
}
}
}
}

if(isie) {
document.oncontextmenu = function() { dopopup(event.x,event.y);return false; }
document.onmousedown = click;
}

</script>


Der skal ske noget når man går til lejlighed osv.. Men det er alt sammen noget med nogle forskellige mysql udtræk hvor jeg skal hente forskellige informationer som så skal indgå i linket. Kan du gøre sådan at den finder ID'et på det felt felt man klikker i og lægger det i en variabel? Hver hvert klik i et felt ændres input i variablen
Avatar billede proff Nybegynder
12. oktober 2004 - 20:35 #18
Kein.. Jeg ved det ikke er tilladt at bruge MSN, til spg. Men jeg vil vise dig hvad det er til hvis det er.. (Kun hvis du vil) (Ellers vil jeg helt ikke poste noget link herinde)
Avatar billede jonashn Nybegynder
12. oktober 2004 - 20:37 #19
jeg vil gerne. Min mail er jonas_hn@hotmail.com
Avatar billede proff Nybegynder
08. april 2007 - 13:42 #20
Lukning forsinket en årrække .-)
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