Layer begrenzungen

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • Layer begrenzungen

    Huhu,

    ich habe mir ein Hilfe Layer gebaut, das eine Formular-Hilfe auswirft, mit onmousedown und onmouseup ... nun habe ich eine Frage zu dem Style. Im moment wird mein Layer auf der Maximalen breite angezeigt. Dieses ist aber soweit nicht so wie es sein soll. Ich möchte die breite begrenzen jemand ne idee ?



    [COLOR=royalblue].tipp[/COLOR] [COLOR=orange]{[/COLOR] [COLOR=green]border:1px solid black;font-size:12px;font-family:Tahoma;layer-background-color:#EFEFEF;background-color:#EFEFEF;width: 100px[/COLOR] [COLOR=orange]}[/COLOR]


    Danke
    Jan

  • #2
    mach mal ein semikolon hinter width:100px;

    oder gib mal ne url zum anschauen
    Ich denke, also bin ich. - Einige sind trotzdem...

    Kommentar


    • #3
      hmm ... das mit dem simikolon habe ich auch schon probiert bringt nix ... leider habe ich das script schon hinter ne login abfrage gepackt, daher poste ich das mal eben .. nicht böses ein für kein highlight

      kannst dir ja mal eben anschaun wäre liep


      <STYLE>
      .ttip {border:1px solid black;font-size:12px;font-family:Tahoma;layer-background-color:#EFEFEF;background-color:#EFEFEF;width: 100px;}
      </STYLE>
      <script>


      PHP-Code:
      <?
      echo "var tip=new Array\n";
      $sql = "SELECT * FROM " . $tb_prefix . "hilfe_kopf WHERE SPRACHE = 'D'";
      $result = mysql_query($sql);
      if($result)
      {
      $row = mysql_fetch_array($result);
      echo "tip[0]='$row[0]'\n";
      echo "tip[1]='$row[1]'\n";
      }
      ?>

      function showtip(current,e,num)
      {
      if (document.layers) // Netscape 4.0+
      {
      theString="<DIV CLASS='ttip'>"+tip[num]+"</DIV>"
      document.tooltip.document.write(theString)
      document.tooltip.document.close()
      document.tooltip.left=e.pageX+14
      document.tooltip.top=e.pageY+2
      document.tooltip.visibility="show"
      }
      else
      {
      if(document.getElementById)
      {
      elm=document.getElementById("tooltip")
      elml=current
      elm.innerHTML=tip[num]
      elm.style.height=elml.style.height
      elm.style.top=parseInt(elml.offsetTop+elml.offsetHeight)
      elm.style.left=parseInt(elml.offsetLeft+elml.offsetWidth+10)
      elm.style.visibility = "visible"
      }
      }
      }
      function hidetip(){
      if (document.layers)
      {
      document.tooltip.visibility="hidden"
      }
      else
      {
      if(document.getElementById)
      {
      elm.style.visibility="hidden"
      }
      }
      }
      </script>
      Zuletzt geändert von JSkrok; 10.03.2003, 15:26.

      Kommentar


      • #4
        thema beendet hatte 2x meine große vom layer definiert...

        dennoch danke für die hilfe *g*

        Kommentar


        • #5
          ahh ich dreh bei dem layer nochmal durch ...

          beim Mozilla klappt alles einwandfrei ...
          nur der ie rafft das nicht das ich die mouse loslasse wenn das Layer das Formular feld überblendet ...

          jemand eine idee wie ich das noch verhindern kann ?

          Kommentar


          • #6
            huh?!

            wie meinen?
            Ich denke, also bin ich. - Einige sind trotzdem...

            Kommentar


            • #7
              wenn man ein layer baut, dieses in einem <input type> mit OnMouseDown aufruft und mit OnMouseUp verlässt, kommt es im IE zu einem Fehler. In dem moment wo das Layer das eingabefeld überlagert (weil der tooltip zu groß ist) bleibt das Layer bestehen obwohl man die mouse loslässt. Eine einfache abhilfe schafft hier der befehl OnMouseMove habe ich gerade Festgestellt. Bei diesem Befehl klappt es auch wenn man die Mouse loslässt ... ist sehr komisch ich weiß ist aber halt der IE ... kann man nicht ändern ...

              mfg
              jan

              Kommentar


              • #8
                achso, ja, der ie hat so seine probleme mit z-index und formularelementen, aber da kannst du nix dran ändern... (außer mit deinem würgaround )
                Ich denke, also bin ich. - Einige sind trotzdem...

                Kommentar


                • #9
                  bitte diesen post nicht beachten ... beim aufrufen des 2. fensters erscheint nun ein java script error ... problem OnMouseOut findet immer statt ...

                  argh ...

                  *überleg*

                  Kommentar


                  • #10
                    mein würgaround klappt nur noch ned ;/ weil ka ...

                    hmmm ...

                    da muss ich mir noch was feines überlegen denke ich

                    Kommentar


                    • #11
                      layer: onmousemove = anzeigen
                      layer: onmouseout = verbergen

                      hilft das?

                      wenn nich wäre eine url hilfreich, wenn du deine sensiblen daten nich veröffentlichen willst, nehm doch irgendwelche dummy-daten
                      Ich denke, also bin ich. - Einige sind trotzdem...

                      Kommentar


                      • #12
                        der inet explorer reagiert nur nicht auf meine befehle. bei einem onmousedown soll er mir meine shortinfo in meinem layer anzeigen. bei einem onmouse up oder onmousemove soll er die wieder verbergen. das problem nun. ist mein layer so groß weil meine hilfe zu dem feld so groß ist, überlagert mein layer mein eingabefeld ... in dem moment wo das layer das eingabe feld überlagert, rafft der ie nicht mehr das ich meine mouse irgentwann loslasse. nehme ich aber ein onmousemove als beendung des feldes, bekomme ich ein javascript error da ich in jedem meiner 50 formular felder eine hilfe hinterlegt habe ... das ganze ist auch nur bei einem feld so ... nicht bei allen. mit einem <div position:absolute; top:*px; left:*px;> lässt sich das auch nicht beheben da mein layer darauf nicht reagiert...

                        das das einzige "kleine" problem.

                        Kommentar


                        • #13
                          Code:
                          <div style="position:absolute; top:100px; left:20px;"> Hilfetext</div>
                          dadrauf sollte er schon reagieren

                          wenn der ie nich rafft, dass du die maus über dem eingabefeld losläßt, dann mach bei dem layer mit dem hilfetext doch auch ein
                          Code:
                          onmouseup="javascript:hidelayer('hilfelayer')"
                          das sollte dann auch der ie raffen
                          Ich denke, also bin ich. - Einige sind trotzdem...

                          Kommentar


                          • #14
                            andere frage kann man in einem layer nicht ein (X) einbauen also ein button wie ein neues Fenster in dem oben rechts ein Kreuz erscheint über dieses man den layer verlassen kann ?

                            hmm ? leider konnte ich kein beispiel anlegen da das layer in meinem beispiel nie meine formular felde überlagert ...

                            ;/

                            Kommentar


                            • #15
                              natürlich geht das
                              Code:
                              input type="button" value="X" onclick="javascript:hidelayer('layername');" />
                              Ich denke, also bin ich. - Einige sind trotzdem...

                              Kommentar

                              Lädt...
                              X