Ergebnis 1 bis 8 von 8
  1. #1
    Avatar von bosko
    bosko ist offline Eroberer
    registriert
    04-12-2011
    Beiträge
    68

    addEventListener auserhalb der function

    Moin,

    ich versuche bei meinem addEventListener in mein slider den Wert auserhalb der Funktion aufzurufen:
    HTML-Code:
    var slider = document.querySelector('#slider');
    function range_change_events() {
       return slider.value;
    }
    var test = slider.addEventListener('input', range_change_events);
    console.log(test); 
    den Wert 'test' möchte ich in einer anderen überprüfung verwenden, wie z.B.:
    HTML-Code:
    if(test < '50') {
    In diesem Beispiel Funktioniert der Slider mit der JS nicht da der Event nicht live arbeiten kann
    wie kann ich dies einstellen...

    Gruß

  2. #2
    Avatar von Dormilich
    Dormilich ist offline Kaiser
    registriert
    15-01-2010
    Beiträge
    1.286

    AW: addEventListener auserhalb der function

    Dir ist bewußt, das der Rückgabewert von addEventListener() komplett unabhängig vom Rückgabewert von range_change_events() ist, da das Event-System asynchron arbeitet?

    Deswegen kann
    ich versuche bei meinem addEventListener in mein slider den Wert auserhalb der Funktion aufzurufen
    gar nicht funktionieren (du versuchst synchrone und asynchrone Verarbeitung zu mischen)

    Es gibt Möglichkeiten mit solchen asynchronen Daten zu arbeiten, aber um etwas empfehlen zu können, fehlt uns das Wissen über den konkreten Anwendungsfall.

  3. #3
    Avatar von bosko
    bosko ist offline Eroberer
    registriert
    04-12-2011
    Beiträge
    68

    AW: addEventListener auserhalb der function

    hoi

    ich möchte von mein Range Silder den value Wert in JS übertragen:
    HTML-Code:
    <input type="range" id="slider" class="myRange" min="0" max="100" name="fuel" orient="vertical" value="75">
    in der JS möchte ich das eine Funktion erst aufgerufen wird wenn diese einen Bestimmten Value Wert erreicht hat, z.B.:
    HTML-Code:
    if(silder.value == '25') {
    // andere JS Funktion
    }
    diese darf aber nicht im "slider.addEventListener('input', range_change_event);" laufen...
    HTML-Code:
    function range_change_event() {
    ....
    ....
    }

  4. #4
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.667

    AW: addEventListener auserhalb der function

    Warum darf das nicht in dem range_change_event laufen? Wann soll dann geprüft werden?

  5. #5
    Avatar von bosko
    bosko ist offline Eroberer
    registriert
    04-12-2011
    Beiträge
    68

    AW: addEventListener auserhalb der function

    Guten Morgen,

    zusammengefasst sieht mein Script zur Zeit so aus:

    HTML-Code:
    <script type="text/javascript">
      var slider = document.querySelector('#slider');
      var lbl = document.querySelector(".lbl"); 
      function range_change_event() {
        lbl.textContent = slider.value + '%';
      }
      slider.addEventListener('input', range_change_event);
       
    if(slider.value > '<?=$wert;?>') {
      $(document).ready(function() {
        $('#forms').click(function(e) {
          $.ajax({
            ...
            ...
            ...
          });
        });
      });
    }  
    </script>
    <input type="range" id="slider" class="myRange" min="0" max="100" name="fuel" orient="vertical" value="75">
    <span class="lbl"></span>
    <a href="#" id="forms" class="forms"></a>
    ich hoffe es ist so verständlich was ich will

  6. #6
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.667

    AW: addEventListener auserhalb der function

    OK - so wird das nie funktionieren. Du musst die if-Abfrage innerhalb des .click() machen.

    PS: globale Variablen solltest du wirklich vermeiden. V.a. wenn sie, wie bei dir hier, komplett durch lokale ausgetauscht werden können.

  7. #7
    Avatar von bosko
    bosko ist offline Eroberer
    registriert
    04-12-2011
    Beiträge
    68

    AW: addEventListener auserhalb der function

    wie könnte ich diese vermeiden?

    was mich auch stört ist, das ich 7 mal hintereinander:

    HTML-Code:
    var wert1 = document.querySelector('#wert1');
    var wert2 = document.querySelector('#wert2');
    ....
    zu stehen habe, gibt es nicht eine möglichkeit zusammen zufassen?

  8. #8
    Avatar von kkapsner
    kkapsner ist offline Super Moderator
    registriert
    28-03-2008
    Beiträge
    17.667

    AW: addEventListener auserhalb der function

    Code:
    $(document).ready(function() {
      $('#forms').click(function(e) {
        if (parseInt(document.getElementById("slider").value, 10) > <?=$wert;?>){
          $.ajax({
            ...
            ...
            ...
          });
        }
      });
    });
    Ich habe auch mal deinen String-Vergleich da entfernt, da sonst z.B. "2" > "10" ist.

    Zu deinem wertX-Problem: da gibt es sicherlich Wege, aber dafür müssen wir wissen, was du danach mit den Variablen machst.

Ähnliche Themen

  1. [DISKUSSION] Wieso ist dieses Array auserhalb der Funktion wieder leer.
    Von Blackhead77 im Forum JavaScript
    Antworten: 5
    Letzter Beitrag: 31-05-2014, 13:58
  2. Combobox beim Klick auserhalb schließen
    Von BlueFox im Forum JavaScript
    Antworten: 22
    Letzter Beitrag: 03-03-2010, 22:10
  3. Werte auserhalb der Schleife ausgeben
    Von moneymeyer im Forum Serverseitige Programmierung
    Antworten: 15
    Letzter Beitrag: 21-01-2010, 09:40
  4. addEventListener
    Von slayer2206 im Forum JavaScript
    Antworten: 6
    Letzter Beitrag: 28-02-2007, 16:11
  5. Links auserhalb des Document root
    Von AnderKatze im Forum Serverseitige Programmierung
    Antworten: 12
    Letzter Beitrag: 17-12-2004, 18:50

Lesezeichen

Berechtigungen

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