Archivlink: javarea.de Forum > JavaScript > eine frage zu 3d-spin menue
Vollständigen Link anzeigen: javarea.de Forum > JavaScript > eine frage zu 3d-spin menue
Pages: [1]
| geschrieben von Design_by_Angel am 20.03.2005 - 00:47 |
hallo an alle,
vorab erstmal ein große lob und kompliment an und für diese forum,
es ist bis jetzt das absolut bestes was ich gefunden habe.
ich bastel meine homepage mit netobject fussion,
mir gefällt das 3d-spin menue wirklich super gut.
habe es jetzt eingefügt und abgeändert auf meine button,
jetzt ist das menue allerdings unten recht im bildschirm.
nun meine frage, wie bekomme ich es rechts oben in den bildschirm?
ich weiß leider nicht wo ich im html was abändern muß.
meine vermutung ist, das ich hier etwas verändern muß:
eye.x+=getposOffset(eye.anchor, "left") //relatively position it
eye.y+=getposOffset(eye.anchor, "top") //relatively position it
ich habe den script in den Body eingetragen, das ist doch richtig so oder?
sorry, bin noch neuling was html und dies alles betrifft also bitte nicht böse sein. 
ich bedanke mich jetzt schonmal recht herzlich bei euch.
viele liebe grüße von angel |
| geschrieben von Sibat am 20.03.2005 - 17:21 |
Hi,
des scheint jetzt eher die Position von nem besonderen Objekt zu sein...
Kannst du mal den ganzen Quelltext posten oder en Link zum Menü geben?
Vielleicht werd ich dann schlauer draus^^ |
| geschrieben von Design_by_Angel am 20.03.2005 - 17:54 |
hallo sibat,
aber gerne doch, ich kopiere mal den ganzen skript hier rein.
das was ornage ist aber ich selber abgeändert also
passend gemacht zu meinen button. *freu*
meine hp findest du hier: http://www.angels-treasures.de/
vielen lieben dank für deine hilfe sibat.
<div style="position:absolute;top:300;left:300">
<script type="text/javascript">
/*
3D Spin Menu- By Petre Stefan (http://www.eyecon.ro)
*/
eye={p:0,x:0,y:0,w:0,h:0,r:0,v:0,s:0,isVertical:0,a1:0,a2:0,a3:0,color:'#ffffff',colorover:'#ffffff',
backgroundcolor:'#0099ff',backgroundcolorover:'#000000',bordercolor:'#000000',fontsize:12,fontfamily:
'Arial',pas:0,spinmenu:function(){this.p=this.r/this.s;this.a1=this.a2=this.isVertical?0:Math.PI/2},spinmenuitem:function(a7,a6,a5){a4=" onclick='window.open(\""+a6+"\""+(a5?(",\""+a5+"\""):",\"_self\"")+")'";document.write("<div id='spinmenu"+this.a3+"' style='cursor:pointer;cursor:expression(\"hand\");position:absolute;width:"+this.w+"px;left:"+this.h+"px;"+"background-color:
"+this.backgroundcolor+";color:"+this.color+";border:1px solid "+this.bordercolor+";font:normal "+this.fontsize+"px "+this.fontfamily+";text-align:center;cursor:default;z-Index:1000;' onmouseover='this.style.color=\""+this.colorover+"\";this.style.backgroundColor=\""+this.backgroundcolorover+"\"'"+ "onmouseout='this.style.color=\""+this.color+"\";this.style.backgroundColor=\""+this.backgroundcolor+"\"'"+a4+">"+a7+"</div>"
);this.a3++},muta:function(){a8=document.getElementById("controale");for(i=0;i<this.a3;i++){a9=document.getElementById("spinmenu"+i+"")
;a9s=a9.style;if(this.isVertical){xi=parseInt(this.r*Math.cos(this.a1+i*this.pas))/this.s;yi=parseInt(this.r*Math.sin(this.a1+i*this.pas))
;a10=(this.p+xi)/(2*this.p);a11=this.fontsize*(this.p+xi)/(2*this.p)+2;a12=parseInt(100*(this.p+xi)/(2*this.p))}else{xi=parseInt(this.r*Math.cos(this.a1+i*this.pas))
;yi=parseInt(this.r*Math.sin(this.a1+i*this.pas))/this.s;a10=(this.p+yi)/(2*this.p);a11=this.fontsize*(this.p+yi)/(2*this.p)+2;a12=parseInt(100*(this.p+yi)/(2*this.p))}
;a13=(this.w-20)*a10+20;a14=(this.h-20)*a10+10;a9s.top=(yi+this.y-a14/2)+"px";a9s.left=(xi+this.x-a13/2)+"px";a9s.width=a13+"px"
;a9s.fontSize=a11+"px";a9s.zIndex=a12};a8.style.top=this.y+(this.isVertical?this.r:this.p)+this.h/2+6;a8.style.left=this.x-a8.offsetWidth/2;if(this.a1!=this.a2)
{this.a1=(this.a1>this.a2)?(this.a1-this.pas/this.v):(this.a1+this.pas/this.v);if(Math.abs(this.a1-this.a2)<this.pas/this.v)
this.a1=this.a2;setTimeout("eye.muta()",10)}},spinmenuclose:function(){this.pas=2*Math.PI/this.a3;document.write('<div id="controale" style="position:absolute"><button type="" onclick="eye.a2+=eye.pas;eye.muta()" onfocus="this.blur()"><<</button> <button type="" onclick="eye.a2-=eye.pas;eye.muta()" onfocus="this.blur()">>></button></div>');eye.muta()}};
function getposOffset(what, offsettype)
{
var totaloffset=(offsettype=="left")? what.offsetLeft : what.offsetTop;
var parentEl=what.offsetParent;
while (parentEl!=null)
{
totaloffset=(offsettype=="left")? totaloffset+parentEl.offsetLeft :totaloffset+parentEl.offsetTop;
parentEl=parentEl.offsetParent;
}
return totaloffset;
}
eye.isVertical = 0; //if it's vertical or horizontal [0|1]
eye.x = 150; // x offset from point of insertion on page
eye.y = 0; // y offset from point of insertion on page
eye.w = 150; // item's width
eye.h = 30; // height
eye.r = 100; // menu's radius
eye.v = 20; // velocity
eye.s = 4; // scale in space (for 3D effect)
eye.color = '#ffffff'; // normal text color
eye.colorover = '#ffffff'; // mouseover text color
eye.backgroundcolor = 'blue'; // normal background color
eye.backgroundcolorover = 'gold'; // mouseover background color
eye.bordercolor = '#000000'; // border color
eye.fontsize = 12; // font size
eye.fontfamily = 'Arial'; //font family
if (document.getElementById)
{
document.write('<div id="spinanchor" style="height:'+eval(eye.h+20)+'"></div>')
eye.anchor=document.getElementById('spinanchor')
eye.spinmenu();
eye.x+=getposOffset(eye.anchor, "left") //relatively position it
eye.y+=getposOffset(eye.anchor, "top") //relatively position it
//menuitem: eye.spinmenuitem(text, link, target)
eye.spinmenuitem("Ich","Ich");
eye.spinmenuitem("kurze Einleitung","Kurze Einleitung");
eye.spinmenuitem("Anime","Anime");
eye.spinmenuitem("Fantasy","Fantasy");
eye.spinmenuitem("Letterbestellung","Letterbestellung");
eye.spinmenuitem("Awards","Awards");
eye.spinmenuitem("Werbung","Werbung");
eye.spinmenuitem("Links","Links");
eye.spinmenuclose();
}
</script>
</div> |
| geschrieben von Sibat am 21.03.2005 - 16:48 |
Hi!
geh ich jetzt richtig in der annahme, dass des <div>-tag zum quelltext dazu gehört und nicht von dir is?
dann würd ich sagen, es liegt ganz einfach am style-attribut und der dort angegebenen absoluten position.
300 pixel von oben und 300 von links, wäre dementsprechend unten rechts.
also die werte einfach ändern, oder ganz style weglassen oder ne relative position, wie's dir halt gefällt...
mit dem javascript teil selbst hab ich en bisschen probleme, weil die deklaration von 'eye' en bisschen arg unübersichtlich gestaltet is^^
aber ich hoff mal, des hat dir weitergeholfen!
Gruß, Sibat |
| geschrieben von Design_by_Angel am 21.03.2005 - 17:31 |
vielen lieben dank sibat,
irgendwie kam mir das "div" auch komisch vor,
rein theoretisch würde da ein "<" fehlen,.
das hab ich mal rein gemacht vor das margin und das "div" weggenommen
und siehe da es klappte.
wobei ich dann feststellen mußte,das unter meiner tabelle genau das gleiche wieder aufgetaucht
ist aber ich nix weiter eingefügt habe.
ich habe den script wieder heraus genommen und wollte gerne das "IE-NS-Menue"
bei mir einbauen aber auch hierbei stieß ich auf probleme.
ich möchte keine ordner bei mir haben sondern nur ein "+" zeichen
statt des ordners.
bin schon am hin und her überlegen ob ich dieses "+" nur da anzeigen lasse,
wo sich noch was drunter befindet. *grübel*
na ich werd mal etwas tüffteln aber auf jedenfall sag ich ganz ganz lieben dank an
dich für deine hilfe.
viele liebe grüße von claudi |
|