Linuchs: Helptext variabel positionieren

Beitrag lesen

problematische Seite

Moin,

entweder ich habe ein Brett vorm Kopf oder mein Vorhaben ist technisch nicht möglich.

Auf Webseiten positioniere ich Help-Buttons. Bei Klick rufen die per Ajax den Helptext vom Server und zeigen ihn an.

Nun möchte ich dieses Helptext-Feld so positionieren, dass es im Sichtbereich ist. Wenn ich unten am Sichtbereich was nach unten aufklappe, muss man scrollen, um zu lesen. Also muss das Feld in der unteren Hälfte nach oben geklappt werden.

Links-rechts-klappen funktioniert. Nach unten auch. Aber nicht nach oben:

    if ( help_x < window.innerWidth /2 ) {           // nach rechts klappen
      document.getElementById( "helptext" ).style.left  = (window.scrollX +help_x +5) +"px";
      document.getElementById( "helptext" ).style.right = "initial";
    } else {                                    // nach links klappen
      document.getElementById( "helptext" ).style.left  = "initial"
      document.getElementById( "helptext" ).style.right = (window.scrollX +window.innerWidth -help_x -5) +"px";
    }
    if ( help_y < window.innerHeight /2 ) {          // nach unten klappen

      document.getElementById( "helptext" ).style.top     = (window.scrollY +help_y +5) +"px";
      document.getElementById( "helptext" ).style.botttom = "initial";
    } else {                                    // nach oben klappen
      document.getElementById( "helptext" ).style.top     = "initial";
      document.getElementById( "helptext" ).style.botttom = (window.scrollY +window.innerHeight -help_y -5) +"px";
    }

    document.getElementById( "helptext" ).style.display = "block";

Wo ist mein Denkfehler?

Linuchs