Ich kann dir nur dieses Video ans Herz legen:
https://youtu.be/QmrkbWslcKs
Es ist leider auf Englisch, klärt aber sehr gut über das ganze Thema auf. In dem Video wird auch diese Website erwähnt: https://hifiguides.com/ vielleicht kann diese dir auch bei deiner Entscheidung helfen.

...zur Antwort

Ich habe es nun selber gelöst.
Es lag wohl an der for-schleife.
Meine Lösung ist:

var parentClass = "viewport-trigger";
var childClass = "waiting";
var partents;
var windowHeight;

var init = function(){
  partents = document.getElementsByClassName(parentClass);
  windowHeight = window.innerHeight;
  window.addEventListener("scroll", check);
  window.addEventListener("resize", init);
}

var check = function(){

  [...partents].forEach(
      (parent, index, array) => {

        var top = parent.getBoundingClientRect().top;

        if(top - (windowHeight - 400) <= 0){

          var childs = parent.getElementsByClassName(childClass);

          [...childs].forEach(
              (child, index, array) => {
                child.className = child.className.replace("cycle1", "slide_in_first")
                                                 .replace("cycle2", "slide_in_second")
                                                 .replace("waiting", "");
              }
          );
        }
      }
  );
}

init();   
...zur Antwort

Ja, es stimmt.
Unter Bruderhass versteht man sowohl Hass unter Brüdern als auch wenn man eine Person hasst die man nicht kennt und nicht verwandt ist. Ich kenne den Begriff durch eine japanische Serie. Dort wurde der Begriff aber nur flüchtig erklärt. Komischerweise findet man dazu nichts weiter im Internet.

...zur Antwort

Ich habe ein passendest Plugin dazu gefunden! Hier der Link: http://dev.bukkit.org/bukkit-plugins/better-proxy-join

...zur Antwort