Event-Handling

B

Benutzer007

Hello,

wie bekomme ich denn mit jQuery (oder ohne) folgendes hin (Pseudocode):

Javascript:
$('#meinElement').on(        $('#meinElement').length>0        , function() {
//
})

Ich würde das jetzt über einen Timer machen. Wäre das eigentlich sinnvoller als über eine jQuery- bzw. Systemevent, den man ja nicht beeinflussen kann, vielleicht tickert der 20 Millionen mal in der Sekunde


Grüße
Peter
 
Zuletzt bearbeitet von einem Moderator:
Sobald ein bestimmtes Element existiert (.length>0) soll etwas passieren.
 
Du willst also darauf warten, dass sich der Quelltext ändert und plötzlich ein beliebiges Element X auftaucht und Du daraufhin reagierst? Wenn ich nicht besser wüsste, würde ich behaupten, dass geht anders schöner und sauberer, aber dazu musst Du uns sagen, was Du genau vor hast.
 
Ich verwende in meinem Blog die CSE (custom search engine) von Google.
Das Ding ist aber so beknackt konzipiert, dass das Suchergebnis in einem viel zu großen Container auftaucht, der über den unteren Bildschirmrand hinausgeht, wo auch die Unterseitendirektwahl ist, so dass man nur am Rollen ist, was mir tierisch auf den Sack geht.
Ich wollte diesen Container nun auf Unterkante Window kürzen - aber der Container existiert noch nicht, wenn die Seite aufgebaut wird sondern erst, nachdem die Abfrage gestartet wurde.

Deshalb eine Funktion: Wenn der Container da ist, setze max-height auf window.height minus ein paar Pixel. Wenn der Container momenten kürzer ist, dann weil ich ihn mal erst auf 250 px gekürzt habe.
 
Was muss man machen, damit man diesen von Dir genannten, ungewollten Effekt erzeugt? Damit man sich das mal ansehen kann.
 
Oben einen Suchbegriff eingeben z. B. Ukraine - und dann warten, was passiert. Wobei mir gerade auffällt, dass man seit der Umstellung von gestern - der Kopf ist nun FIXED - gar nicht mehr bis unten rollen kann, es sein dann man hat einen Riesenbildschirm. Deshalb hatte ich das Suchergebnis auch mal erst auf 250 max_height gestellt.
 
Das Problem bei mir ist, dass er, wenn ich etwas eingebe, er gar nichts macht. Um die Suche zu starten, muss ich auf die Schaltfläche drücken.
 
... und die Schaltfläche drücken ...

Bei den Trending-Posts auf der rechten Seite habe ich etwas ähnliches gemacht.

Würdest du sagen, das wäre anders sinnvoller als so:

Javascript:
$(document).ready(function() {
  (function addthisTrend() {
  if (typeof addthis=='object' && $('.addthis-content-row').length<1) {
  //
  } else {
  setTimeout(addthisTrend, 5000);
  }
  })();
  });
 
Zuletzt bearbeitet von einem Moderator:
Dann kommt bei mir eine Ergebnisliste, die in diesem Fall leer ist. Aber ich kann mir langsam vorstellen, was Du meinst. Vielleicht hilft Dir das hier weiter.

Nachtrag: Um ehrlich zu sein: das was Du da machst, ist wirklich nur ein Hack, und wie es meistens mit Hacks ist – sie sind nicht besonders schön. Auch hier würde ich Dich, wenn es nicht anders geht, auf MutationObserver verweisen.
 
Zuletzt bearbeitet:

Neue Beiträge

Zurück