div id vergeben wenn Wert mehrmals

Einklappen
Dieses Thema ist geschlossen.
X
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • #16
    im Skript steht
    onmouseover=\"java script:show('WikiId_".$id."');\"
    onmouseout=\"java script:hide('WikiId_".$id."');\"

    Ich haber noch was gesehen, sollte es nicht "javascript" heissen, anstatt "java space script"?

    Eine ID, im Sinn HTML Attribut im HTML Tag, kommt vermutlich überhaupt nicht vor, sondern nur die PHP Variable $id in der Form 'WikiId_".$id.", zB. "WikiId_.Browser.". Und die muss immer natürlich immer gleich sein, aber es ist sogar egal ob WikiId_.Browser. oderWikId_.Browser23.

    Bin ich da auf dem Irrweg?

    Kommentar


    • #17
      Original geschrieben von globqluqqlo
      Ich haber noch was gesehen, sollte es nicht "javascript" heissen, anstatt "java space script"?
      (Das macht das Forum beim posten solcher Sachen in [code]-Tags ...)
      Eine ID, im Sinn HTML Attribut im HTML Tag, kommt vermutlich überhaupt nicht vor
      Doch, irgendwie müssen die JS-Funktionen show() und hide() ja auch das Element ausfindig machen können, auf welches sie zugreifen sollen.
      I don't believe in rebirth. Actually, I never did in my whole lives.

      Kommentar


      • #18
        Dann muss er jedes Vorkommnis von z.B. Browser einzeln behandeln. Ich habe aber dein Eindruck, dass er nur eine Schleife über die Schlüsselwörter macht. Statt seiner einfachen Schleife braucht es eine verschachtelte Schleife:
        while (Schlüsselwort=each Schlüsselwörter) do
        ......$id=Schlüsselwort, $vorkommnis=0
        .....while Stelle = each alleStellen(Schlüsselwort) do
        ............$vorkommnis+=1;
        ............tag it with ($id . $vorkommnis)
        ......endwhile
        endwhile

        Eine Alternative ist das THIS von Javascript zu verwenden, dann geht es mit einer Schleife über die Schlüsselworte. Im Mouseover bezeichnet this das objekt, bei dem es steht.

        onmouseover=\"javascript:showtip(THIS, 'WikiId_".$id."');\"
        onmouseout=\"javascript:hidetip(THIS, 'WikiId_".$id."');\"

        Mit so einer Konstruktion kann das showtip/hidetip ohne ID erfahren, welches Vorkommnis es ist und dann ein this.display="block"/"hide" machen oder so.

        PS THIS im JS kleinschreiben "this", ich habs hier zur Hervorhebung grossgeschrieben.
        Zuletzt geändert von globqluqqlo; 01.03.2006, 14:13.

        Kommentar


        • #19
          Hehe kenne ich die Probleme.
          Zuletzt geändert von Piti; 01.03.2006, 21:49.

          Kommentar


          • #20
            Entschuldigung das ich jetzt erst antworte und danke für eure Hilfe.
            Ja ich nutze noch ein eigens JS.
            Code:
            <!--
            NS4 = (document.layers) ? 1 : 0;
            IE4 = (document.all) ? 1 : 0;
            NS6 = (document.getElementById) ? 1 : 0;
            activmenu = false;
            function show(menu) { 
             if(activmenu) {
              if(NS4) document.layers[activmenu].display = "none";
              if(NS6) document.getElementById(activmenu).style.display= "none";
              if(IE4) document.all(activmenu).style.display = "none";
              activmenu = false;
             }
             if(menu) {
              if(NS4) {
               document.layers[menu].display = "show";
               document.layers[menu].bgColor = "FFFFFF";
              }
              if(IE4) {
               document.all(menu).style.display = "inline";
              }
              if(NS6) {
               document.getElementById(menu).style.display = "inline";
              }
              activmenu = menu;
             }
            }
            function hide(menu) {
             if(NS4) document.layers[menu].display = "none";
             if(NS6) document.getElementById(menu).style.display = "none";
             if(IE4) document.all(menu).style.display = "none";
             activmenu = false;
            }
            //-->
            Und mein div der erscheint ist in einem seperaten Template und sieht so aus
            Code:
            <div id="WikiId_$nummer" style="position:absolute; display:none;">
            <table style="width:300px" cellpadding="0" cellspacing="0" border="0">
             	<tr>
            		<td align="left">blabla</td>
            	</tr>
            </table>
            </div>
            Der div Code ist gekürtzt hier.
            Also das mit der id muß ja sein weil die ja eindeutig sein muß.
            Kommt ein Wort nur einmal vor geht es ja auch in jedem Browser.
            Aber wie hier schon geschrieben wurde ignoriert der IE es z.B. wenn ein Wort mehrmals vorkommt da der div dann auch mehrmals die gleiche id hat.

            Kommentar


            • #21
              Original geschrieben von Piti
              Hehe kenne ich die Probleme.
              Netter Versuch, den Beitrag, in dem du deinen Doppelaccount verraten hast, wieder wegzueditieren ...


              Nützt aber nix, denn auch auf der ziemlich rechten Seite, die zur Emailadresse von "Sleipnir" gehört, nennst du dich ja selber "Piti".

              Und auf Leute, die aus ziemlich eindeutigen Gründen eine "88" in ihrer Emailadresse spazieren führen, können wir hier verzichten.

              Und Tschüss! (x2)
              I don't believe in rebirth. Actually, I never did in my whole lives.

              Kommentar


              • #22
                Wenn ich's recht verstehe ist $test das <div id= WikiId_$id>...</div> bzw. laut template ID=WikiId_$nummer (Schreibfehler?).

                Der PHP Code sieht an sich gut aus, um alle Vorkommen von $word1 auszuzeichnen. Er bezeichnet sie aber alle mit dem gleichen WikiId_$id1 und dem gleichen $string1 =<acronym onMouseOver=show(WikiId_$id1)> </acronym><div id=WikiId_$id1 >..</div>. Dann entsteht das <div id=WikiId_$id1 > mehrfach, sooft wie $word1 vorkommt.

                Ich habe nicht untersucht, was die Browser machen, wenn <div id=a> zweimal vorkommt, aber ich würde das nicht im HTML haben wollen. Um das genauer abzuklären, würde ich ein fixes HTML file machen, in welchem 2mal das gleiche vorkommt, <ACRONYM onMouseOver=show(a) onMouseOut=hide(a)> </ACRONYM><DIV ID=a </DIV> und nochmals <ACRONYM onMouseOver=show(a) onMouseOut=hide(a) > </ACRONYM><DIV ID=a </DIV>.

                Man könnte noch untersuchen, ob das <acronym> tag vom Browser verstanden wird und ob onmouseover darin honoriert wird. Aber ich denke weniger, dass es daran liegt, dass sollte langsam standard sein.

                Falls ich mich täusche, schreib. Falls es stimmt, findest Du die Lösung vermutlich selber, sonst schreibe auch.......

                Die Idee ist im übrigen sehr gut. Gibt das einen Zusatz zu phpbb, oder kommt $tpl-> auch anderswo vor?

                Kommentar


                • #23
                  Liebe Moderatoren, Leute mit interessanten Fragen solltet ihr nicht vertreiben.
                  Gruss.

                  Kommentar

                  Lädt...
                  X