# Einige Fragen



## fatau (15. Okt 2004)

Morning   ,

da ich bis dato noch nichts mit Java zu tun hatte, habe ich natürlich auch keine Ahnung.
Ich habe ein nettes Scripterl gefunden, welches ich in meiner neuen HP eingebaut habe. Einfache Menüführung, zu sehen bei  http://josefine-mutzenbacher.at

Nun meine Fragen:


 wie kann ich einen "Mailto" Link erstellen (ab Zeile 435)?
Wie kann ich eine Grafik (anstelle des Rechteckes) einbauen (Zeile 28)
Wenn ich eine neue Seite mittel Link in einem Frame öffnen möchte, sieht der hier -->window.open (Zeile435) wie aus ?? 


Und nicht Lachen, ich bin halt ein Newbie   

Also bitte um Hilfe

nice Day







```
<html>
<head>
<title>FATAU.AT;</title>
<script language="Javascript">

</script>
<STYLE>

BODY {; }{
scrollbar-arrow-color:#FFFF00;
scrollbar-base-color:#0020FF;
scrollbar-face-color:#000000;
scrollbar-highlight-color:#0020FF;
scrollbar-shadow-color : #0020FF;}

</STYLE>
</head>
<body text="#FFFF00" bgcolor="#330000">








<style type="text/css">
.dot         { position: absolute; width: 14; height: 14; visibility: hidden; background-color: #830000; font-size: 1px; cursor: pointer; cursor: hand; z-index: 1000 }
.dotoff      { position: absolute; width: 10; height: 10; visibility: hidden; background-color: #800000; font-size: 1px; cursor:default; z-index: 1000}
.dotempty    { position: absolute; width: 12; height: 12; visibility: hidden; background-color: #E06000; font-size: 1px; cursor: pointer; cursor: hand; zindex: 1000 }
.caption     { position: absolute; visibility: hidden; font-family: Tahoma; color: #FFFFFF;
               font-size: 12px; text-align: Center; ; z-index:
               1 }

body                   { margin: 0px; background-color:#330000;}
a                           { color: silver; text-decoration: none }
p                           { font-size: 11px; font-family: tahoma; color: #FFFFFF }
</style>


<script language="JavaScript" type="text/javascript">
/**********************************************************************************
DotMenu
*   Copyright (C) 2001 Dan Pupius
*   This script was released at DHTMLCentral.com
*   Visit for more great scripts!
*   This may be used and changed freely as long as this msg is intact!
*   We will also appreciate any links you could give us.
*

*   Made by Dan Pupius
*
*   Script date: 09/13/2001 (keep this date to check versions)
*********************************************************************************/

function lib_bwcheck(){ //Browsercheck (needed)
        this.ver=navigator.appVersion
        this.agent=navigator.userAgent
        this.dom=document.getElementById?1:0
        this.opera5=(navigator.userAgent.indexOf("Opera")>-1 && document.getElementById)?1:0
        this.ie5=(this.ver.indexOf("MSIE 5")>-1 && this.dom && !this.opera5)?1:0;
        this.ie6=(this.ver.indexOf("MSIE 6")>-1 && this.dom && !this.opera5)?1:0;
        this.ie4=(document.all && !this.dom && !this.opera5)?1:0;
        this.ie=this.ie4||this.ie5||this.ie6
        this.mac=this.agent.indexOf("Mac")>-1
        this.ns6=(this.dom && parseInt(this.ver) >= 5) ?1:0;
        this.ns4=(document.layers && !this.dom)?1:0;
        this.bw=(this.ie6 || this.ie5 || this.ie4 || this.ns4 || this.ns6 || this.opera5)
        return this
}
var bw=lib_bwcheck()
// The code of this script is in the body, the browsercheck above is not used.

</script>


<script language="javascript1.2" type="text/javascript">

// DotMenu
// provides cross-browser functionality
//======================================
function getObjectRef(name) {
  if(document.getElementById) return document.getElementById(name);
  else if(document.all) return document.all[name];
  else return null;
}

// general functions to assist the script
//========================================
function show(name) {
  var el = getObjectRef(name);
  if(el) el.style.visibility = "visible";
}
function hide(name) {
  var el = getObjectRef(name);
  if(el) el.style.visibility = "hidden";
}
function getWidth(name) {
  var el = getObjectRef(name);
  return el.offsetWidth;
}
function getHeight(name) {
  var el = getObjectRef(name);
  return el.offsetHeight;
}
function moveMe(name,x,y) {
  var el = getObjectRef(name);
  if(el) { el.style.top = parseInt(y); el.style.left = parseInt(x); }
}
function moveBy(name,x,y) {
  var el = getObjectRef(name);
  if(el) { el.style.top = parseInt(el.style.top) + parseInt(y); el.style.left = parseInt(el.style.left) + parseInt(x); }
}

// Creates the menu objects
//==========================
var menuCount = 0;
function menuObject(name,x,y,caption, r, parent) {
  if ( (!document.getElementById&&!document.all) || navigator.userAgent.indexOf("Opera")>-1) return;
  document.write('<div id="divDot' + menuCount + '" class="dotempty" style="top: ' + y + '; left: ' + x + '"></div>');
  document.write('<div id="divCap' + menuCount + '" class="caption" style="top: 0; left: 0">' + caption + '</div>');

  this.name = name;
  this.parent = parent
  this.ref = "divDot" + menuCount;
  this.caption = "divCap" + menuCount
  if(r) this.radius = r;
  else this.radius = 100;
  this.subMenus = new Array();
  this.state = 0;
  this.moving = false;
  if(this.parent) this.action = "null";
  else this.action = "toggle";
  if(this.parent) this.startAngle = parent.startAngle;
  else this.startAngle = 90;

  getObjectRef(this.ref).objRef = this.name;

  this.show = function() { show(this.ref); }
  this.hide = function() { hide(this.ref); }
  this.moveMe = function(x,y) { if(this.parent) { x += this.parent.x(); y += this.parent.y(); } moveMe(this.ref,x,y); }
  this.moveBy = function(x,y) { moveBy(this.ref,x,y); }
  this.x = function() { return parseInt(getObjectRef(this.ref).style.left); }
  this.y = function() { return parseInt(getObjectRef(this.ref).style.top); }
  this.w = function() { return getWidth(this.ref); }
  this.h = function() { return getHeight(this.ref); }

  this.showCaption = function() {
    moveMe(this.caption, this.x() - (getWidth(this.caption)/2) + (this.w()/2), (this.y() + this.h()));
    show(this.caption);
  }
  this.hideCaption = function() {
    hide(this.caption);
  }
  this.setCaption = function(c) { getObjectRef(this.caption).innerHTML = c;}

  this.addItem = function(c,action,r) {
    getObjectRef(this.ref).className = "dot";
    if(!r) r = this.radius/2.5;
    var sub = new menuObject(this.name + ".subMenus[" + this.subMenus.length + "]",0,0,c,r,this);
    sub.parent = this;
    sub.action = action;
    sub.moveMe(0,0);
    this.subMenus[this.subMenus.length] = sub;

    return sub;
  }

  this.expand = function() {
    if(this.subMenus.length > 0) {
      var p = true;
      if(this.parent) {
        p = !this.parent.moving;
        for(var i=0; i<this.parent.subMenus.length;i++)
          p = p && ((this.parent.subMenus[i].state==0) || (this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length)) && (this.parent.subMenus[i].moving==false);
      } else var o = false;


      if((!this.parent || this.parent.state == this.parent.subMenus.length) && p) {
        if(this.parent) this.collapseAll(this.name);

        var diff = 170 / this.subMenus.length;
        for(var i=0;i<this.subMenus.length;i++){
          this.subMenus[i].moveMe(0,0);
          this.subMenus[i].show();
          this.moving = true;
          this.subMenus[i].slide(this.subMenus[i].radius * cos(degToRad((diff*i)+this.startAngle)), this.subMenus[i].radius * sin(degToRad((diff*i)+this.startAngle)), this.name + ".subMenus[" + i + "].showCaption();" + this.name + ".moving=false;" + this.name + ".state+=1;");
        }

        if(this.parent){
          getObjectRef(this.parent.ref).style.filter = "alpha (opacity=33)";
          getObjectRef(this.parent.ref).style.MozOpacity = "33%";

          getObjectRef(this.parent.ref).className = "dotoff";
          getObjectRef(this.parent.caption).style.filter = "alpha (opacity=33)";
          getObjectRef(this.parent.caption).style.MozOpacity = "33%";
          for(i=0;i<this.parent.subMenus.length;i++) {
              getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
              getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "66%";
              getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
              getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "66%";
          }
          if(this.parent.parent) {
            for(i=0;i<this.parent.parent.subMenus.length;i++) {
              getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=33)";
              getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "33%";
              getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotoff";
              getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=33)";
              getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "33%";
            }
            getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
            getObjectRef(this.parent.parent.ref).style.MozOpacity = "33%";
            getObjectRef(this.parent.parent.ref).className = "dotoff";
          }
        }
        getObjectRef(this.ref).style.filter = "alpha (opacity=66)";
        getObjectRef(this.caption).style.filter = "alpha (opacity=66)";
        getObjectRef(this.ref).style.MozOpacity = "66%";
        getObjectRef(this.caption).style.MozOpacity = "66%";
      }
    }
  }

  this.collapse = function() {
    var p = true;
    p = !this.moving;
    for(var i=0; i<this.subMenus.length;i++)
      p = p && (this.subMenus[i].state==0)  && (this.subMenus[i].moving==false);

    if(p && this.subMenus.length > 0) {
      for(var i=0;i<this.subMenus.length;i++){
        this.subMenus[i].hideCaption();
        this.moving = true;
        this.subMenus[i].slide(0, 0, this.name + ".subMenus[" + i + "].hide();" + this.name + ".moving=false;" + this.name + ".state-=1;");
      }
      if(this.parent){
        getObjectRef(this.parent.ref).style.filter = "alpha (opacity=66)";
        getObjectRef(this.parent.ref).style.MozOpacity = "66%";
        if(this.parent.subMenus.length != 0)
          getObjectRef(this.parent.ref).className = "dot";
        else
          getObjectRef(this.parent.ref).className = "dotempty";
        getObjectRef(this.parent.caption).style.filter = "alpha (opacity=66)";
        getObjectRef(this.parent.caption).style.MozOpacity = "66%";
        for(i=0;i<this.parent.subMenus.length;i++) {
          getObjectRef(this.parent.subMenus[i].ref).style.filter = "alpha (opacity=100)";
          getObjectRef(this.parent.subMenus[i].ref).style.MozOpacity = "100%";
          if(this.parent.subMenus[i].subMenus.length != 0)
            getObjectRef(this.parent.subMenus[i].ref).className = "dot";
          else
            getObjectRef(this.parent.subMenus[i].ref).className = "dotempty";
          getObjectRef(this.parent.subMenus[i].caption).style.filter = "alpha (opacity=100)";
          getObjectRef(this.parent.subMenus[i].caption).style.MozOpacity = "100%";
        }
        if(this.parent.parent) {
          for(i=0;i<this.parent.parent.subMenus.length;i++) {
            getObjectRef(this.parent.parent.subMenus[i].ref).style.filter = "alpha (opacity=66)";
            getObjectRef(this.parent.parent.subMenus[i].ref).style.MozOpacity = "66%";
            if(this.parent.parent.subMenus[i].subMenus.length != 0)
              getObjectRef(this.parent.parent.subMenus[i].ref).className = "dot";
            else
              getObjectRef(this.parent.parent.subMenus[i].ref).className = "dotempty";
            getObjectRef(this.parent.parent.subMenus[i].caption).style.filter = "alpha (opacity=66)";
            getObjectRef(this.parent.parent.subMenus[i].caption).style.MozOpacity = "66%";
          }
        }
      }
      getObjectRef(this.ref).style.filter = "alpha (opacity=100)";
      getObjectRef(this.caption).style.filter = "alpha (opacity=100)";
      getObjectRef(this.ref).style.MozOpacity = "100%";
      getObjectRef(this.caption).style.MozOpacity = "100%";
    }
  }

  this.collapseAll = function(except) {
    for(var i=0;i<this.parent.subMenus.length;i++) {
      if(this.parent.subMenus[i].name!=except && this.parent.subMenus[i].state==this.parent.subMenus[i].subMenus.length) {
        this.parent.subMenus[i].collapse();
      }
    }
  }

  this.toggle = function(e) {
    if(document.all) id = window.event.srcElement;
    else id = e.target;
    var dot = eval(id.objRef);


    if(dot.state==0 && !dot.moving) dot.expand();

    else if(dot.state==dot.subMenus.length && !dot.moving) dot.collapse()
  }

  this.doAction = function(e) {
    if(document.all) id = window.event.srcElement;
    else id = e.target;
    var dot = eval(id.objRef);

    if(dot.action == "toggle") dot.toggle(e);
    else eval(dot.action);
  }

  //change these if you want to change the events that trigger the actions
  //========================================================================
  //getObjectRef(this.ref).onmousemove = this.toggle;
  getObjectRef(this.ref).onmouseup = this.doAction;

  this.slide = function(xx,yy,func) {
    if(!func) func = "";
    var px = this.parent.x();
    var py = this.parent.y();

    var x = xx - this.x() + px;
    var y = yy - this.y() + py;

    var d = sqrt(square(xx-this.x() + px) + square(yy-this.y() + py));

    var v = d/4;
    if(v<1) v = 1;


    if( (Math.abs(x) < v) && (Math.abs(y) < v) ) {
      moveMe(this.ref,xx + px,yy + py);
      if(func != "") eval(func);
    } else {
      var a = round(atan(x,y));
      dx = round(v * cos(degToRad(a)));
      dy = round(v * sin(degToRad(a)));

      this.moveBy(dx,dy);
      setTimeout(this.name + ".slide(" + xx + "," + yy + ", '" + func + "');",10);
    }
  }
  // Preoading the windows filters.
  if (menuCount==0 && document.all) document.all[this.ref].style.filter = "alpha (opacity=100)";
  menuCount++;
  return this;
}


// Math functions
//================
var pi = Math.PI;
function square(x) { return (x*x); }
function sqrt(x) { return Math.sqrt(x); }
function round(x) { return Math.round(x); }
function rand(x,y) { return (round(Math.random()*(y-x)) + x); }

function cos(x) { return Math.cos(x) }
function sin(x) { return Math.sin(x) }

function degToRad(x) { return ( x/(360/(2*pi)) ); }
function radToDeg(x) { return ( x*(360/(2*pi)) ); }


function atan(s,t) {
  if( s == 0.0 && t > 0.0)
    angle = 90.0;
  else if(s == 0.0 && t < 0.0)
    angle = 270.0;
  else if (s < 0.0 )
    angle = 180.0 + radToDeg(Math.atan(t/s));
  else if (s > 0.0 && t < 0.0)
    angle = 360.0 + radToDeg(Math.atan(t/s));
  else {
    if(s==0.0) s=0.00001;
    angle = radToDeg(Math.atan(t/s));
  }
  if(angle < 0.0) angle += 360.0;
  return angle;
}



//====================================================================================
// make the menus and provide information on usage
//====================================================================================
//
// In order to customise your menus all you need to do is:
//   - edit the styles .dot, .dotoff and .caption
//   - add the main menu using the following code
//         var [menu_name] = new menuObject("[menu_name]", [x position], [y position], [caption], [spacing between sub menus]);
//   - add the subemus using:
//         var [sub_menu] = [menu_name].addItem([caption],[action],[spacing]);
//       OR
//         var [sub-sub_menu] = [sub_menu].addItem([caption],[action],[spacing]);
//       OR
//         [menu_name].subMenus[x].addItem([caption],[action],[spacing]);
//
//       - where action is string that get's evaluated when the dot is clicked
//
//       (NOTE the spacing is optional and if left blank gets inherited
//             and is equal to the  (parent's value)/2 - the default for
//             the main menu item uis 400)
//
//   - the following allow extra manipulation of the menus:
//          + menuItem.show()              - show's the menu's dot
//          + menuItem.showCaption()       - show's the menu's caption
//          + menuItem.hide()
//          + menuItem.hideCaption()
//          + menuItem.startAngle = x      - default is 0-degrees which means the first submenu appears
//                                           directly to the right, the following items are traced in a
//                                           clockwise direction
//          + menuItem.setCaption("text")  - allows you to change a menus caption
//          + menuItem.expand()            - opens a menus submenus (if they exist)
//          + menuItem.collapse()          - closes a menu's subItems (unless one of them is open)
//
//          + menuItem.moveMe(x,y)         - moves a menu to coordinates (x,y)
//          + menuItem.moveBy(x,y)         - moves a menu by (x,y)-pixels
//          + menuItem.x() & menuItem.y()  - retrieve a menus coordinates
//
//====================================================================================

//get dimentions of the page
if(document.all) pageWidth = document.body.offsetWidth-0;
else pageWidth = innerWidth;
if(document.all) pageHeight = document.body.offsetHeight-3;
else pageHeight = innerHeight;

//Create main menu
var menu = new menuObject("menu",pageWidth/8,pageHeight/3,"Navigation",pageHeight/2);
menu.startAngle = -30;

//show menu and caption
menu.show();
menu.showCaption();

//Add submenus
menu.addItem("J. Mutzenbacher","toggle");
menu.addItem("FATAU","toggle");




menu.subMenus[1].addItem("Portal","window.open('http://2art4you.com/apboard/portal.php')");
menu.subMenus[1].addItem("Cybershop","window.open('http://fatau.at')");
menu.subMenus[1].addItem("Forum","window.open('http://2art4you.com/apboard/main.php')");
menu.subMenus[1].addItem("Webspace","window.open('http://roots.fatau.at')");







</script>










</body>
</html>
```


----------



## thE_29 (15. Okt 2004)

wie du selbst geschrieben hast, hast du ein script gefunden => javascript != java

das was du machst hat nicht wirklich was mit java zum tun....

das ist javascript!

verschoben!!!


----------



## Sky (15. Okt 2004)

Das hier ist nicht JAVA sondern JAVA-Script. Die beiden haben -pauschal gesagt- nur einen Teil ihres Namens gemeinsam 

Kann das mal einer verschieben??


----------



## foobar (15. Okt 2004)

@JavaScript-Mods Bitte Zeilenumbruch einfügen.


----------



## Heiko (15. Okt 2004)

Für deine ganzen Fragen gibt es Infos im selfhtml.org.

Suche dort nach Stichwort "mailto" und "img" das window.open geht.


----------



## fatau (15. Okt 2004)

Ich würde das Board auf "Für Verirrte und Verwirrte" umtaufen 

Kann es sein, dass ich deswegen nicht wirklich sinnvolles ergoogelt habe


----------



## fatau (15. Okt 2004)

Heiko hat gesagt.:
			
		

> Für deine ganzen Fragen gibt es Infos im selfhtml.org.
> 
> Suche dort nach Stichwort "mailto" und "img" das window.open geht.



Ich hab mir gestern die Augen wundgelesen bei selfhtml doch finde ich nur mailto`s für html und keinen Befehl für Javascripte.

das windows.open geht, weiss ich auch, war allerdings nicht meine Frage.


----------



## Heiko (15. Okt 2004)

Warum sollte das umgetauft werden?

Wenn du JavaScript eingibts bei Google findest du zahlreiche Links, die sinnvoll sind.

Was hast du denn eingegeben?


----------



## Surma (16. Okt 2004)

Ok....

MailtoLink in HTML

```
[email="webmaster@java-forum.org"]Webmaster[/email]
```

MailtoLink in JavaScript

```
<script language="JavaScript">
  function mail (to) 
  {
    location.href = "mailto:"+to ;
  }
</script>
[url="javascript:mail ('webmaster@java-forum.org')"]Mail[/url]
```
Du kannst die Funktion natuerlich auch aus einem anderen JavaScript aufrufen.

 Die Grafik:
Das was du da siehst ist ein Layer (DIV fuer Division), wenn du stattdessen eine Grafik haben willst, musst du im CSS-Bereich (Zeile 28 ), die Farbdefinitionen rausnehmen (damit der Layer "durchsichtig" wird, und dann im zwischen den <div class="dot"> </div> (Zeile 120/121), ein <img> reinpacken.

Window.open => www.readthefuckingmanual.de
=> http://de.selfhtml.org/javascript/objekte/window.htm#open
da steht alles!

HTH, und der Script is n bissl heavy fuern anfang, und auch noch nicht-selbstgeschrieben ;-)


----------

