Seite 1 von 2 12 LetzteLetzte
Ergebnis 1 bis 10 von 19

Thema: [JS] Buttons wiederholen Funktion?

  1. #1
    Samurai Avatar von Bleistift
    Registriert seit
    20.03.2012
    Alter
    21
    Beiträge
    235
    Danke
    0
    Bekam 4 mal "Danke" in 4 Postings

    Standard [JS] Buttons wiederholen Funktion?

    Hey,

    ich sitze gerade an einem kleinen Menü, doch es gibt ein Problem ..
    Das Menü wird mit JavaScript erstellt.
    Anschließend wollte ich Buttons diesen Menüpunkten zuteilen per JavaScript.

    Das Menü ist so aufgebaut, dass 5 Elemente in einem "menue"-Element sind. Diese 5 Elemente (MI1-5) haben ein onmouseover- (dropdown()) und onmouseoutEvent (dropup()).
    Danach wollte ich die Menüunterpunkte als Buttons erstellen und hinzufügen ..
    Die beiden Funktionen funktionieren soweit aber wenn ich nun in einem der Elemente über einen Menüpunkt, also einen Button fahre, wieder die dropup() function ausgeführt und die dropdown() wird wiederholt .. Die Buttons haben aber keine functions ..
    Hatte es auch mit Links versuchst aber da ist es genau das Gleiche ..

    Wie kann ich jetzt meinem Menüpunkten die Buttons so zuweisen, dass sie diesem Element angehören?
    Ich denke mal das passiert weil der Button oder die Links ein neues Objekt darstellen, oder?

    Es gibt leider auch nichts in der Konsole was mir helfen könnte ..

    Hier der betreffende Quellcode:
    Code:
    function createMenue() {    
    // get Size
    var screenWidth = window.innerWidth;
    var screenHeight = window.innerHeight;
    var docHeight = (screenHeight/2)-30;
    
    
    // menue - element
    var myMenue = document.createElement("div");
    myMenue.style.width = screenWidth-400 + "px";
    myMenue.style.height = "30px";
    myMenue.style.marginLeft = "200px";
    myMenue.style.marginTop = docHeight + "px";
    myMenue.id = "dropdown";        
            
    // menüpunkte MI1-5
    myMenue.innerHTML = "<div id='MI1' class='menue_item'>Home<br></div>" +
    "<div id='MI2' class='menue_item' onmouseover='dropdown(this.id); return false;' onmouseout='dropup(this.id); return false;'>Übersicht<br><br></div>" +
    "<div id='MI3' class='menue_item' onmouseover='dropdown(this.id); return false;' onmouseout='dropup(this.id); return false;'>Spiele<br><br></div>" + 
    "<div id='MI4' class='menue_item' onmouseover='dropdown(this.id); return false;' onmouseout='dropup(this.id); return false;'>Informationen<br><br></div>" + 
    "<div id='MI5' class='menue_item' onmouseover='dropdown(this.id); return false;' onmouseout='dropup(this.id); return false;'>Login<br><br></div>";
    // add element to body
    document.body.appendChild(myMenue);
        
    // create buttons
    var myBtn = document.createElement("input");
    myBtn.type = "button";
    myBtn.id = "example.php";
    //myBtn.onclick = "getPage(this.id); return false;";
    myBtn.value = "Example 1.1";
    // add buttons
    document.getElementById("MI2").appendChild(myBtn);
    }
    Achtung: Dies ist ein alter Thread im HTML und Webmaster Forum
    Diese Diskussion ist älter als 90 Tage. Die darin enthaltenen Informationen sind möglicherweise nicht mehr aktuell. Erstelle bitte zu deiner Frage ein neues Thema im Forum !!!!!


  2. #2
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [JS] Buttons wiederholen Funktion?

    also so geschichten macht man wesentlich besser mit jQuery.
    dein problem ist wahrscheinlich, dass des event-bubbling zu deinem nachteil wird (ich vermute einfach mal, dass events ohne jquery genauso bubblen, wie mit)
    will sagen du kloppst elemente in ein div, auch wenn du in dieses div andere elemente reinlegst wird wahrschenlich ein klick auf ein kind-element ebenso ein klick auf das umschliessende div sein.

    aber: ein menü mit javascript zu erstellen ist eigentlich so fruchtbar wie eine flashseite fürs ipad zu machen :P
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  3. #3
    Samurai
    Themenstarter
    Avatar von Bleistift
    Registriert seit
    20.03.2012
    Alter
    21
    Beiträge
    235
    Danke
    0
    Bekam 4 mal "Danke" in 4 Postings

    Standard AW: [JS] Buttons wiederholen Funktion?

    Danke für deine Antwort.

    Könntest du mir vielleicht sagen wie ich ein onmouseover Event abfragen kann?
    Hab schon gegoolet aber da finde ich immer nur das aufrufen einer Funktion mit functioname(e.type) zum beispiel aber das bringt mir nicht viel :/

    Also sprich das ich abfragen kann, ist eines der child-Element onmouseover?

    Hatte gerade selber bisschen ausprobiert und in etwa sowas gebastelt:

    Code:
    function dropup(closeItem) {
    var childCount = document.getElementById(closeItem).childNodes;
    var i = 0;
    while(i != childCount) {
    if (document.getElementById(closeItem).childNodes[i].onmouseover) {
    return;
    }
    else {
    i++
    }
    }
    // schließe Menüpunkt
    }
    Funzt aber leider nicht ..
    Oder kann ich es mit document.getElementById(closeItem).childNodes[i] = Event.onmouseover versuchen?, Hm :/

    Das mit dem Klick auf das umschließende Div ist irrelevant bei mir ^^


  4. #4
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [JS] Buttons wiederholen Funktion?

    der klick auf das div ist ja auch nur das beispiel gewesen, das is des gleiche system bei ALLEN events.

    also an dein element kommste doch via myBtn dran oder nich? will sagen während du es erstellst und in einer variablen hast kannst du dem ding zum einen eine eigene ID geben und zum anderen dort dann auch anbinden.

    Code:
    myBtn.onmouseover = function(){
      //do heroic stuff in here
    }
    Geändert von synaptic (13.01.2013 um 19:38 Uhr)
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  5. #5
    Samurai
    Themenstarter
    Avatar von Bleistift
    Registriert seit
    20.03.2012
    Alter
    21
    Beiträge
    235
    Danke
    0
    Bekam 4 mal "Danke" in 4 Postings

    Standard AW: [JS] Buttons wiederholen Funktion?

    Ja das ist klar meine Buttons haben ja auch ne ID ^^
    Aber ich möchte in einer ganz anderen Funktion abfragen ob die Buttons "gehovert" werden..

    Halt in der dropup() function.
    Also ParentElement onmouseout -> child Element onmouseover? -> ja?-return, nein?-schließe parent

    Und myBtn befindet sich in der tool.js. Die Menüfunktionen sind in der dropdown.js ^^


  6. #6
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [JS] Buttons wiederholen Funktion?

    ja dann nutz doch die id.. :P
    dafür is die ja da. und dass du hier mit zwei files arbeitest hatte mir meine glaskugel verschwiegen, ich muss die wohl umtauschlichen, die sau..^^
    ich denke dafür solltest du mit zwei kontrollvariablen arbeiten einmal für parent und einmal fürs child.

    und dann die beiden vars abfragen wird wohl nich ohne globalisierung gehen
    aber ich bleibe dabei du machst dir hier sowas von das leben schwer, mit jQuery wär es weniger
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  7. #7
    Samurai
    Themenstarter
    Avatar von Bleistift
    Registriert seit
    20.03.2012
    Alter
    21
    Beiträge
    235
    Danke
    0
    Bekam 4 mal "Danke" in 4 Postings

    Standard AW: [JS] Buttons wiederholen Funktion?

    ich habe leider absolut 0 plan von jQuery noch nie angeschaut :/

    Mit nem Timeout funzt es auch nicht, ouh man.

    Hast du vielleicht einen hilfreichen Artikel zu jQuery?
    Geändert von Bleistift (13.01.2013 um 19:48 Uhr)


  8. #8
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [JS] Buttons wiederholen Funktion?

    mmh hilfreiche artikel. näh ich habs in medias res gelernt. eifach mal ne bildergalerie damit bauen

    is im prinzip voll easy.
    1.) die selektoren um ein objekt zu bekommen oder ein array von objekten is wie bei CSS musste nur nen $() drum wrappen oder nen jQuery() (dollarzeichen is das short-tag für jQuery, wenn man es benutzt. also im css #meineID wird zu $('#meineID).
    2.) benutzen wie normales javascript, nur eben einfacher
    3.) man kann mehrere funktionen verbinden (chaining nennt man des) also: $('#meineID).slideup().css('height', '20px');

    http://oscarotero.com/jquery/ mal als funktionsübersicht zur doku
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

  9. #9
    Samurai
    Themenstarter
    Avatar von Bleistift
    Registriert seit
    20.03.2012
    Alter
    21
    Beiträge
    235
    Danke
    0
    Bekam 4 mal "Danke" in 4 Postings

    Standard AW: [JS] Buttons wiederholen Funktion?

    Kann ich jQuery einfach in JavaScript Quellcode schreiben?
    Also sowas wie

    Code:
    <script type="text/javascript">
    function example(closeItem) {
    while(i < childCount) {
    if(event.target == document.getElementById(document.getElementById(closeItem).childNodes[i])) {
    return
    }
    }
    }
    </script>


  10. #10
    Forum Guru Avatar von synaptic
    Registriert seit
    20.06.2007
    Ort
    Butzbach-Wiesental
    Beiträge
    10.901
    Danke
    45
    Bekam 48 mal "Danke" in 46 Postings
    Blog-Einträge
    1

    Standard AW: [JS] Buttons wiederholen Funktion?

    klar das is nur ne javascript-bibliothek


    HTML-Code:
    <script type="text/javascript"> 
    function example(closeItem) { 
    while(i < childCount) { 
      if(event.target == $('#closeItem').children().first().attr('id')) { 
        return 
      } 
    } 
    } </script>
    holt dann vom closeItem das erste kind und vergleicht die id mit dem event.target
    KEIN support via pn, email, messenger oder falsch geposteten threads
    Futter für deine Schnuffelzwerge gibts bei den Schnuffelzwergen TOP Qualität, also klicken und kaufen

Ähnliche Themen

  1. Hintergrundbild so oft wiederholen wie gebraucht
    Von DarthSchaf im Forum HTML & CSS Forum
    Antworten: 1
    Letzter Beitrag: 10.07.2009, 15:13
  2. Hintergrundgrafik in der x-Achse wiederholen
    Von Dominik21 im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 05.05.2008, 19:27
  3. Musik wiederholen
    Von Hilfesuchender100 im Forum HTML & CSS Forum
    Antworten: 2
    Letzter Beitrag: 14.03.2007, 21:27
  4. Hintergrundgrafik wiederholen?
    Von hkp im Forum HTML & CSS Forum
    Antworten: 3
    Letzter Beitrag: 29.08.2006, 14:49
  5. gelöschte dateien wiederholen
    Von Big Stick im Forum HTML & CSS Forum
    Antworten: 8
    Letzter Beitrag: 07.06.2005, 20:17

Stichworte

Berechtigungen

  • Neue Themen erstellen: Nein
  • Themen beantworten: Nein
  • Anhänge hochladen: Nein
  • Beiträge bearbeiten: Nein
  •