gandalf: Hintergrundmusik pausieren

Guten Abend,

auf meiner Seite läuft im Hintergrund eine mp3. Was ich seit drei Stunden versuche bzw. möchte: Die Hintergrundmusik soll pausieren, wenn man mit dem Mausrad bis zu einem bestimmten <section> gescrollt hat; dann aber wieder abspielen lassen, wenn man mit dem Mausrad weiter oder wieder zurück scrollt.

Mein (bis jetzt gescheiterte) Code sieht so aus:

<audio id="audioplayer" autoplay="true" loop="true" preload="none"><source src="mp3/music.mp3"></audio>

<section id="section4">
bla bla bla...
</section>

<script>
$('#section4').on('scroll', function(){$('#audioplayer')[0].pause();});
</script>

Leider blicke ich gerade nicht durch und würde mich über Hilfen sehr freuen.

Einen schönen Abend und viele Grüße gandalf

  1. @@gandalf

    auf meiner Seite läuft im Hintergrund eine mp3.

    „Musik wird störend oft empfunden, weil stets sie mit Geräusch verbunden.“ (Wilhelm Busch)

    Schon Odysseus wusste die Sirenen zu umschiffen;
    Menschen der Neuzeit könnten ihren Browser so einstellen, dass Audios/Videos nicht automatisch gestartet werden.

    Tip Nr. 57: Seitenbesucher sind fast so rar wie Latinum. Ehre sie.
    Lass Musik nicht automatisch losspielen, sondern erst auf Wunsch des Seitenbesuchers.

    LLAP 🖖

    --
    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
    „Hat auf dem Forum herumgelungert …“
    (Wachen in Asterix 36: Der Papyrus des Cäsar)
  2. Tach!

    Leider blicke ich gerade nicht durch und würde mich über Hilfen sehr freuen.

    Leider ist das keine Fehlerbeschreibung, an der man ansetzen kann. Was genau ist denn das Problem? Wird dein Eventhandler nicht aufgerufen? Oder wird er aufgerufen, aber die Musik stoppt nicht? Oder hast du ein Problem damit, die passenden Events und/oder Zeitpunkte zu finden?

    dedlfix.

    1. Tach!

      Leider blicke ich gerade nicht durch und würde mich über Hilfen sehr freuen.

      Leider ist das keine Fehlerbeschreibung, an der man ansetzen kann. Was genau ist denn das Problem? Wird dein Eventhandler nicht aufgerufen? Oder wird er aufgerufen, aber die Musik stoppt nicht? Oder hast du ein Problem damit, die passenden Events und/oder Zeitpunkte zu finden?

      dedlfix.

      Hallo dedlfix,

      Der Eventhandler wird aufgerufen, aber die Musik stoppt nicht.

      Um zu prüfen, ob der Eventhandler auch wirklich aufgerufen wird, habe ich statt

      $('#section4').on('scroll', function(){$('#audioplayer')[0].pause();});
      

      folgendes

      $(window).on('scroll', function(){$('#audioplayer')[0].pause();});
      

      ausprobiert und auch festgestellt, dass die Musik stoppt. Daher liegt es definitiv an dem $('#section4').

      Besten Dank und viele Grüße gandalf

      @@Gunnar: Geschmackssache ;)

      1. Hallo,

        Tach!
        [unerwünschtes Vollzitat entfernt]
        dedlfix.

        Der Eventhandler wird aufgerufen, aber die Musik stoppt nicht.

        du ziehst aus deinen eigenen Untersuchungen die falschen Schlüsse.

        Um zu prüfen, ob der Eventhandler auch wirklich aufgerufen wird, habe ich statt

        $('#section4').on('scroll', function(){$('#audioplayer')[0].pause();});
        

        folgendes

        $(window).on('scroll', function(){$('#audioplayer')[0].pause();});
        

        ausprobiert und auch festgestellt, dass die Musik stoppt. Daher liegt es definitiv an dem $('#section4').

        Ja. Das heißt, für das window-Objekt wird der Eventhandler aufgerufen, für #section4 jedoch nicht.
        Was auch irgendwie logisch ist, denn du scrollst ja das gesamte Browserfenster (das dem window-Objekt entspricht), und nicht das Element mit der ID section4, oder?

        So long,
         Martin

        1. Ja. Das heißt, für das window-Objekt wird der Eventhandler aufgerufen, für #section4 jedoch nicht.
          Was auch irgendwie logisch ist, denn du scrollst ja das gesamte Browserfenster (das dem window-Objekt entspricht), und nicht das Element mit der ID section4, oder?

          Ja, genau. Ich scrolle das gesamte Browserfenster. Gelangt bzw. ist das Browserfenster bei section4, so soll die Hintergrundmusik aufhören.

          So

          $(window).$('#section4').on('scroll', function(){$('#audioplayer')[0].pause();});
          

          geht es leider auch nicht.

          Viele Grüße, gandalf

          1. Tach!

            Ja, genau. Ich scrolle das gesamte Browserfenster. Gelangt bzw. ist das Browserfenster bei section4, so soll die Hintergrundmusik aufhören.

            Dann ist der Auslöser wohl eher das Sichtbarwerden oder eine bestimmte Position und nicht, ob das Element scrollt. Selbst wenn man annimmt, dass scroll nicht nur auf das Scrollen des Inhalts reagiert, scrollt das Element ja auch als Inhalt seiner Vorfahren, wenn es nicht sichtbar ist.

            dedlfix.

      2. Hallo,

        das mit der Section 4 war schon immer eine üble Sache … :)

        Überprüf mal, ob und wann das Scrollevent bei section4 aufgerufen wird.

        Gruß Jürgen

      3. @@gandalf

        @@Gunnar: Geschmackssache ;)

        Wenn es das wäre, ginge es hier nicht um deinen Geschmack, sondern um den deiner Seitenbesucher.

        Aber nein, user experience ist keine Geschmackssache.

        LLAP 🖖

        --
        „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
        „Hat auf dem Forum herumgelungert …“
        (Wachen in Asterix 36: Der Papyrus des Cäsar)
      4. Tach!

        Der Eventhandler wird aufgerufen, aber die Musik stoppt nicht.

        Das hieße, das Musik-Stoppen wäre kaputt. Ist es aber nicht, wie du im weiteren Verlauf sagst.

        Um zu prüfen, ob der Eventhandler auch wirklich aufgerufen wird, habe ich statt

        $('#section4').on('scroll', function(){$('#audioplayer')[0].pause();});
        

        folgendes

        $(window).on('scroll', function(){$('#audioplayer')[0].pause();});
        

        ausprobiert und auch festgestellt, dass die Musik stoppt.

        Moment, da hast du ja gar nicht mehr deinen Eventhandler, sondern einen Eventhandler an einem ganz anderen Element. Da muss man die obere Aussage anders formulieren. Das Musik-Stoppen funktioniert prinzipiell mit dem gezeigten Code. Und Scroll-Events werden für das window-Element ausgelöst.

        Es ist günstiger, wenn man die einzelnen Programmteile separat testet, um so ihre prinzipielle Funktionsfähigkeit festzustellen. In deinem Fall hast du den Kontext geändert und in dem hat es zufälligerweise funktioniert.

        Wie testet man separat? Wenn es wenig Code ist, kann amn ihn in der Konsole des in den Browsern eingebauten Debuggers laufen lassen. Wenn es mehr Code wird, schreibt man sich eine Funktion, die man dann in der Konsole ausführen kann.

        Daher liegt es definitiv an dem $('#section4').

        Daran wird es eher nicht liegen, denn das ist ein ganz normaler JQuery-Selektor. Wenn du was anderes machst, beispielsweise .css('border', '1px solid red'), wirst du sehen, dass auch das nicht die Ursache ist.

        Aber was ist nun die Ursache? Tja, das weiß ich auch nicht. Aber ich nehme mal an, dass bei besagtem Element kein Scroll-Event gefeuert wird. Wird es denn überhaupt gescrollt (ist sein Inhalt größer als der verfügbare Platz innerhalb der Seite, so dass es gescrollt werden muss) oder bewegt es sich nur mit über den Bildschirm, wenn was anderes gescrollt wird? Oder ist die Definition des Scroll-Events, dass auch Bewegungen, die kein eigentliches Scrollen sind, darunterfallen? Oder dass das Event an die Nachfahren weitergereicht wird, wenn eines der Vorfahrenelemente gescrollt wird?

        dedlfix.

        1. Hallo dedlfix,

          ich scrolle das Browserfenster. Wenn das Browserfenster bei <section id="section4"> ist, dann soll die Hintergrundmusik pausieren.

          Ich weiß nicht, welche Elemente/Objekte ich da anhandeln soll.

          Viele Grüße gandalf

          1. Hallo gandalf,

            ich scrolle das Browserfenster. Wenn das Browserfenster bei <section id="section4"> ist, dann soll die Hintergrundmusik pausieren.

            Ich weiß nicht, welche Elemente/Objekte ich da anhandeln soll.

            Vielleicht den Abstand des section-Elementes zum oberen Rand des Browserfensters?

            Allerdings möchte auch ich den Hinweis wiederholen, dass ungefragt eingespielte Musik im allgemeinen keine gute Idee ist.

            Bis demnächst
            Matthias

            --
            Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
            1. Hi there,

              Allerdings möchte auch ich den Hinweis wiederholen, dass ungefragt eingespielte Musik im allgemeinen keine gute Idee ist.

              Ich glaube, das hat er jetzt oft genug gehört und ich glaube auch, daß ihn das in dem Maße nicht interessiert, wie es mit seinem Problem nichts zu tun hat...

            2. Allerdings möchte auch ich den Hinweis wiederholen, dass ungefragt eingespielte Musik im allgemeinen keine gute Idee ist.

              Dieses ist IHRE Meinung. Schauen Sie sich große Seiten an, dort ist dieses gang und gebe und wird auch nicht als störend befunden. Ach so stimmt ja, sie sind ja nicht auf FB und wahrscheinlich lesen Sie auch keine Bild.de Zeitung und sind nicht auf RTLNEXT unterwegs.

              1. Hallo Bianca,

                Dieses ist IHRE Meinung. Schauen Sie sich große Seiten an, dort ist dieses gang und gebe

                Das stimmt. Facebook, Twitter, YouTube - das machen sie alle.

                und wird auch nicht als störend befunden.

                Das bezweifle ich. Mich stört das. Mir ist es schon mehr als einmal passiert, dass ich in einem unangenehmen Moment mit einem Autoplay-Video beschallt wurde oder dass ich meiner Frau die Bandbreite geklaut habe, weil ein Video sofort angefangen hat zu spielen.

                Die Aussage „das stört die User” ist genau so unsinnig wie „das stört niemanden.” Ob jemanden das stört hängt von vielen Faktoren ab.

                LG,
                CK

                1. Hallo,

                  da gibt es eine ganz einfache Lösung. Einfach die Lautsprecher ausstellen, wenn man im Web unterwegs ist, vor allem auf Facebook, Youtube und seit neuestem auch auf Twitter muss man damit einfach rechnen.

                  Scheinbar stört es die User nicht, denn sonst würden so große Portale die mehrere Milliarden Zugriffe im Monat haben nicht umsetzten? Oder?

                  1. Hallo Bianca,

                    da gibt es eine ganz einfache Lösung. Einfach die Lautsprecher ausstellen, wenn man im Web unterwegs ist, vor allem auf Facebook, Youtube und seit neuestem auch auf Twitter muss man damit einfach rechnen.

                    Das ist wohl richtig. Hilft aber auch nicht immer, denn ich denke da ja auch nicht immer dran.

                    Scheinbar stört es die User nicht, denn sonst würden so große Portale die mehrere Milliarden Zugriffe im Monat haben nicht umsetzten? Oder?

                    Oh, Vorsicht – auch die kochen nur mit Wasser und implementieren das, was sie für sinnvoll halten. Und wenn wir uns die Integration der Youtube-Kommentare in Google+ anschauen kann das auch ziemlich in die Hose gehen.

                    LG,
                    CK

                  2. @@Bianca

                    da gibt es eine ganz einfache Lösung. Einfach die Lautsprecher ausstellen, wenn man im Web unterwegs ist, vor allem auf Facebook, Youtube und seit neuestem auch auf Twitter muss man damit einfach rechnen.

                    Scheinbar stört es die User nicht, denn sonst würden so große Portale die mehrere Milliarden Zugriffe im Monat haben nicht umsetzten? Oder?

                    Du hast das Geschäftsmodell von Facebook, Youtube und Twitter nicht verstanden. Die setzen nicht um, was ihre Nutzer wollen, sondern das, was Ihre Stakeholder wollen.

                    Hat dich je eines der großen Portale gefragt, ob dir ein Feature gefällt, oder haben Sie dir alles vorgesetzt und du musst damit leben?

                    LLAP 🖖

                    --
                    „Wir haben deinen numidischen Schreiber aufgegriffen, o Syndicus.“
                    „Hat auf dem Forum herumgelungert …“
                    (Wachen in Asterix 36: Der Papyrus des Cäsar)
                    1. Hallo,

                      Hat dich je eines der großen Portale gefragt, ob dir ein Feature gefällt, oder haben Sie dir alles vorgesetzt und du musst damit leben?

                      und genau dieses ist der Punkt, wir User müssen einfach mit solchen Features leben ob wir wollen oder nicht. Irgendwann gewöhnen wir uns daran und nehmen es einfach so hin. Wem es nicht passt kann ja gehen.

                      vielleicht verlieren die großen 1-2 Millionen User durch so eine Aktion aber hey, scheiß drauf, die Werbeindustrie sagt DANKE und die User kommen irgendwann wieder, weil sie gar nicht anders können.

                      Ich kann mich noch an den großen Aufschrei vor ein paar Monaten erinnern als Twitter in den Privaten Nachrichten das 140 Zeichen Limit aufgehoben hat und was ist daraus geworden? Richtig, wir nehmen es einfach so hin.

                      Oder um auf das Thema zurück zu kommen, war das ein Aufschrei als ebenfalls vor ein paar Monaten Twitter das Feature eingeführt hat, dass Videos in der App von sich aus anfangen abzuspielen. Und was ist daraus geworden? Richtig, interessiert jetzt keinen mehr, wir nehmen es einfach so hin.

                      1. Hi there,

                        also soo kann man das nicht einfach stehen lassen. Von der Sinnhaftigkeit von Hintergrundmusik etc. einmal abgesehen aber da gehts um Grundsätzlicheres.

                        und genau dieses ist der Punkt, wir User müssen einfach mit solchen Features leben ob wir wollen oder nicht.

                        Dieser ganze Socialmedia-Schei** ist nichts anderes als eine Spielwiese, auf der sich reduzierte Persönlichkeiten produzieren dürfen und Deine Reaktion auf Kritik an diesem Blödsinn zeigt mir einmal mehr, daß ich recht habe. Es ist schon schlimm genug, daß sich viele Menschen von der Politik oder von Behörden, von mir aus auch am Arbeitsplatz fast alles gefallen lassen, aber wer irgendwelche Spinnereien oder Gängelmaßnahmen von einem amerikanischen Konzern, der noch dazu das Leben der Anwender bis auf unter die Haut durchleuchten möchte, einfach als scheinbar gottgegeben hin nimmt, der sollte entweder ganz schnell erwachsen werden oder am nächsten Fürsorgeamt einen Vormund beantragen.

                        vielleicht verlieren die großen 1-2 Millionen User durch so eine Aktion aber hey, scheiß drauf, die Werbeindustrie sagt DANKE und die User kommen irgendwann wieder, weil sie gar nicht anders können.

                        siehe oben.

                        Ich kann mich noch an den großen Aufschrei vor ein paar Monaten erinnern als Twitter in den Privaten Nachrichten das 140 Zeichen Limit aufgehoben hat und was ist daraus geworden? Richtig, wir nehmen es einfach so hin.

                        siehe oben.

                        Oder um auf das Thema zurück zu kommen, war das ein Aufschrei als ebenfalls vor ein paar Monaten Twitter das Feature eingeführt hat, dass Videos in der App von sich aus anfangen abzuspielen. Und was ist daraus geworden? Richtig, interessiert jetzt keinen mehr, wir nehmen es einfach so hin.

                        siehe oben...

                        1. Dieser ganze Socialmedia-Schei** ist nichts anderes als eine Spielwiese, auf der sich reduzierte Persönlichkeiten produzieren dürfen und Deine Reaktion auf Kritik an diesem Blödsinn zeigt mir einmal mehr, daß ich recht habe.

                          So eine Dumme Antwort habe ich schon lange nicht mehr gelesen. Typisch deutsche Antwort!

                          1. Hallo,

                            Dieser ganze Socialmedia-Schei** ist nichts anderes als eine Spielwiese, auf der sich reduzierte Persönlichkeiten produzieren dürfen und Deine Reaktion auf Kritik an diesem Blödsinn zeigt mir einmal mehr, daß ich recht habe.

                            So eine Dumme Antwort habe ich schon lange nicht mehr gelesen. Typisch deutsche Antwort!

                            und dabei kommt sie nicht einmal von einem Deutschen. :-)

                            So long,
                             Martin

          2. Hi there,

            ich scrolle das Browserfenster. Wenn das Browserfenster bei <section id="section4"> ist, dann soll die Hintergrundmusik pausieren.

            Ich weiß nicht, welche Elemente/Objekte ich da anhandeln soll.

            Und wenn Du einfach einen Timer setzt, der, sagen wir, zehnmal in der Sekunde abfragt, ob die Section mit der Id 'section4' zu sehen ist? Dafür brauchst Du nicht einmal diesen jQuery-Blödsinn (ok, den hättest Du ohnehin nicht gebraucht)...

            1. Aloha ;)

              Und wenn Du einfach einen Timer setzt, der, sagen wir, zehnmal in der Sekunde abfragt, ob die Section mit der Id 'section4' zu sehen ist?

              Und das "abfragen, ob Section zu sehen ist" funktioniert wie genau? Das ist doch gerade mit des Pudels Kern...

              Hätte ich dafür eine triviale Lösung hätte ich die hier auch schon mitgeteilt...

              Grüße,

              RIDER

              --
              Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
              1. Hi there,

                Und das "abfragen, ob Section zu sehen ist" funktioniert wie genau? Das ist doch gerade mit des Pudels Kern...

                In dem er die Koordinaten der Sektion ermittelt und mit dem Bildschirm-Offset vergleicht? Ob das jetzt trivial zu nennen ist muss jeder für sich selbst entscheiden, Hexerei ist es jedenfalls keine...

                1. Aloha ;)

                  Und das "abfragen, ob Section zu sehen ist" funktioniert wie genau? Das ist doch gerade mit des Pudels Kern...

                  In dem er die Koordinaten der Sektion ermittelt und mit dem Bildschirm-Offset vergleicht?

                  Soweit, so klar. Es wäre allerdings hilfreich gewesen, dazu zu sagen wie man das macht (denn genau das war meine Frage).

                  Ich wusste es jedenfalls nicht auswendig und musste zuerst nachlesen.

                  Jedenfalls sollte folgende Funktion dabei helfen, die Koordinaten der Sektion mittels JavaScript zu ermitteln:

                  function getPosition(element) {
                      var xPosition = 0;
                      var yPosition = 0;
                    
                      while(element) {
                          xPosition += (element.offsetLeft - element.scrollLeft + element.clientLeft);
                          yPosition += (element.offsetTop - element.scrollTop + element.clientTop);
                          element = element.offsetParent;
                      }
                      return { x: xPosition, y: yPosition };
                  }
                  

                  (Quelle)

                  An den TO:

                  Du kannst das scroll-Event des window abfangen und in der Event-Listener-Funktion die Wiedergabe nur dann pausieren, wenn getPosition(document.getElementById("section4")) entsprechende Werte liefern, die zwischen window.pageXOffset und window.pageXOffset + window.innerWidth liegen bzw. zwischen window.pageYOffset und window.pageYOffset + window.innerHeight.

                  Und bitte, bitte, frag mich nicht nach einer JQuery-Lösung - wer JQuery verwenden möchte, sollte dafür JavaScript beherrschen - und dann sollte es ein leichtes sein, den JavaScript-Lösungsweg in JQuery umzusetzen. Oder einfach JavaScript zu benutzen. JQuery ist ein sinnvolles JavaScript-Tool, aber kein Selbstzweck. Insbesondere sind viele Argumente dafür, JQuery einzusetzen, die zu den Anfangszeiten von JQuery bedeutungsvoll waren, inzwischen obsolet, weil der Sprachstandard entsprechende Funktionalitäten inzwischen auch so unterstützt. (Ich will nicht sagen es gäbe keine Argumente mehr, nur eben weniger...)

                  Grüße,

                  RIDER

                  --
                  Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[
                  1. Hi there,

                    Soweit, so klar. Es wäre allerdings hilfreich gewesen, dazu zu sagen wie man das macht (denn genau das war meine Frage).

                    sorry, war ein Missverständnis. Ich hab ähnliches schon so oft verwendet, war mein Fehler, man sollte eben nie von sich aus gehe;)

                    Und bitte, bitte, frag mich nicht nach einer JQuery-Lösung - wer JQuery verwenden möchte, sollte dafür JavaScript beherrschen - und dann sollte es ein leichtes sein, den JavaScript-Lösungsweg in JQuery umzusetzen. Oder einfach JavaScript zu benutzen. JQuery ist ein sinnvolles JavaScript-Tool, aber kein Selbstzweck. Insbesondere sind viele Argumente dafür, JQuery einzusetzen, die zu den Anfangszeiten von JQuery bedeutungsvoll waren, inzwischen obsolet, weil der Sprachstandard entsprechende Funktionalitäten inzwischen auch so unterstützt.

                    Dem ist nichts hinzuzufügen, ausser, das gerade zeitkritische Sachen mit jQuery schwerer bis gar nicht möglich sind. Nachgemessen dauert der Aufruf eines jQuery-Selektors bis zu zehnmal länger als ein schlichtes document.getElementById oder das Ansprechen des Objektes selbst - ist natürlich von Browser zu Browser verschieden, aber länger dauerts in jedem. In einer Schleife kann das durchaus Probleme verursachen...

                  2. Tach!

                    Und bitte, bitte, frag mich nicht nach einer JQuery-Lösung - wer JQuery verwenden möchte, sollte dafür JavaScript beherrschen - und dann sollte es ein leichtes sein, den JavaScript-Lösungsweg in JQuery umzusetzen.

                    Damit geht es deutlich einfacher, weil man dazu nur .offset() aufzurufen braucht.

                    Oder einfach JavaScript zu benutzen. JQuery ist ein sinnvolles JavaScript-Tool, aber kein Selbstzweck. Insbesondere sind viele Argumente dafür, JQuery einzusetzen, inzwischen obsolet, weil der Sprachstandard entsprechende Funktionalitäten inzwischen auch so unterstützt.

                    Ja, aber der Sprachstandard kümmert sich nicht darum, die Inkompatibilitäten zwischen den Implementierungen in den Browsern auszugleichen. JQuery macht das. Mag sein, dass das mittlerweile auch immer seltener wird, trotzdem finde ich JQuery immer noch lesbarer als reines Javascript, wenn es im DOM-Manipulationen geht.

                    Am besten finde ich immer noch, weder das eine noch das andere generell zu verteufeln, sondern das beste aus beiden Welten mitzunehmen. Man kann beispielsweise auch in reinem Javascript all das machen, was man mit Typescript machen kann. Trotzdem arbeitet es sich angenehmer in Typescript, vor allem in großen Projekten. Ich finde es wichtig, die Grundlagen zu kennen, muss aber nicht generell bei ihnen verweilen, wenn es angenehmere Alternativen gibt.

                    dedlfix.

                    1. Hallo,

                      [...] trotzdem finde ich JQuery immer noch lesbarer als reines Javascript, wenn es im DOM-Manipulationen geht.

                      ähm, ernsthaft?? Mir geht es umgekehrt. Reinen Javascript-Code kann ich halbwegs lesen und verstehen, aber JQuery kommt mir immer sehr kryptisch vor und erfordert für mich viel Konzentration, Phantasie und um-die-Ecke-denken.

                      Am besten finde ich immer noch, weder das eine noch das andere generell zu verteufeln, sondern das beste aus beiden Welten mitzunehmen.

                      ACK. Und auf beides verzichten, wo es nicht erforderlich ist.

                      So long,
                       Martin

                      1. Hallo,

                        man denkt, man bekommt in einem SELFHTML Forum Lösungsansätze für HTML-Probleme. Stattdessen wird hier nur dumpfes Gelaber gepostet. 90 % der Einträge haben nichts mit dem Thema zu tun. Man kann sich das alles auch sparen und seine Zeit für andere Sachen besser nutzen. Oh man, schade um das Forum hier.

                        Übrigens, warum postet ihr euren Gelaber nicht einfach in, Achtung ich zietiere, Social-Sch***-Netzwerke rein. Stimmt, ihr hält ja nichts davon... haha haha...

                        Adieu SELFHTML

                        1. Hi,

                          man denkt, man bekommt in einem SELFHTML Forum Lösungsansätze für HTML-Probleme.

                          das auch, ja. Aber du hattest ja eher ein Javascript-Problem. Un d nun beklag dich bitte nicht, du hättest dafür keine Lösungsansätze bekommen - im Gegenteil, die hast du reichlich erhalten.

                          Stattdessen wird hier nur dumpfes Gelaber gepostet. 90 % der Einträge haben nichts mit dem Thema zu tun. Man kann sich das alles auch sparen und seine Zeit für andere Sachen besser nutzen. Oh man, schade um das Forum hier.

                          Das nennt sich Konversation und macht einen Teil der menschlichen Kultur aus.

                          So long,
                           Martin

                        2. Hi there,

                          Übrigens, warum postet ihr euren Gelaber nicht einfach in, Achtung ich zietiere, Social-Sch***-Netzwerke rein. Stimmt, ihr hält ja nichts davon... haha haha...

                          Wer mich falsch zitiert sollte wenigstens wissen, wie man es richtig schreibt...

            2. Hallo Klawischnigg,

              Und wenn Du einfach einen Timer setzt, der, sagen wir, zehnmal in der Sekunde abfragt, ob die Section mit der Id 'section4' zu sehen ist?

              Das könnte man auch an das scroll-event binden. So wird das JS nicht sinnlos ausgeführt, was möglicherweise auf Mobilgeräten auch eine Frage des Akkuverbrauchs sein könnte.

              Bis demnächst
              Matthias

              --
              Das Geheimnis des Könnens liegt im Wollen. (Giuseppe Mazzini)
              1. Hi there,

                Und wenn Du einfach einen Timer setzt, der, sagen wir, zehnmal in der Sekunde abfragt, ob die Section mit der Id 'section4' zu sehen ist?

                Das könnte man auch an das scroll-event binden. So wird das JS nicht sinnlos ausgeführt, was möglicherweise auf Mobilgeräten auch eine Frage des Akkuverbrauchs sein könnte.

                Ja, stimmt, es gibt fast nichts, was man nicht verbessern oder optimieren könnte. Wobei man sagen muss, daß ein einziger Timer mit dieser zeitlichen Auflösung jetzt echt keine Belastung für die CPU und somit den Akku darstellt, aber anyway, notwendig ist es in der Tat nicht, daß der ständig rennt. Ich geb Dir ein Skript, das den Akku wirklich in kurzer Zeit leersäuft, das würd' ich auf einer normalen Seite so nicht einsetzen, schon gar nicht für mobile Devices...;))