# Gibt es die Möglichkeit Javascript auszuführen nachdem alle Einkaufswelten einer Seite geladen wurde

**URL:** https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396
**Category:** Programmierung
**Created:** [10. Januar 2019 um 11:01 UTC](https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396 "2019-01-10T11:01:58Z")
**Posts on this page:** 4
**Page:** 1

<div class="post-metadata">

### Author: ![work](https://avatars.discourse-cdn.com/v4/letter/w/e99b99/32.png) [@work](https://forum.shopware.com/u/work)
#### Post date: [10. Januar 2019 um 11:01 UTC](https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396/1 "2019-01-10T11:01:58Z")

</div>

Aktuell verwenden wir folgende Funktion um Javascript nachdem Laden von Einkaufswelten auszuführen:

```
 $.subscribe('plugin/swEmotionLoader/onLoadEmotionFinished', function() { //Code goes here });

```

Das Problem ist allerdings, dass bei Lightboxen oder Gallerien das Overlay mehrmals initialisiert wird, da das Script nach jeder Einkaufswelt ausgeführt wird. Wenn eine Seite also beispielsweise 5 Einkaufswelten mit Lightboxen hat, werden 5 Overlays initialisiert.

Gibt es eine Möglichkeit nach Laden der letzten Einkaufswelt erst das Script ausführen zu lassen, sodass das Overlay nur einmal initialisiert wird?

---

<div class="post-metadata">

### Author: ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)
#### Post date: [10. Januar 2019 um 17:28 UTC](https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396/2 "2019-01-10T17:28:26Z")

</div>

Hallo,

nein, solch eine Funktion gibt es im Standard von Shopware nicht, wird wahrscheinlich auch schwierig umsetzbar sein, da es ja keinen Zähler gibt und die Einkaufswelten im Bestfall alle gleichzeitig geladen und angezeigt werden. Eventuell könnte man es so lösen, das man der Einkaufswelt eine individuelle CSS-Klasse gibt und dann die Funktion der Lightbox nur ausführt, wenn die geladene Einkaufswelt die CSS-Klasse hat (vorausgesetzt, es gibt die individuelle CSS-Klasse nur einmal auf der Seite).

Grüße

Sebastian

---

<div class="post-metadata">

### Author: ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)
#### Post date: [10. Januar 2019 um 17:31 UTC](https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396/3 "2019-01-10T17:31:42Z")

</div>

Ich hab das früher mal umgesetzt. Du musst via Javascript für den aktuellen Viewport alle Einkaufswelten zählen. Einfach alle emotion–wrapper elemente loopen und zählen

Dann wenn das Event so oft getriggert wurde =\> ausführen.

&nbsp;

---

<div class="post-metadata">

### Author: ![work](https://avatars.discourse-cdn.com/v4/letter/w/e99b99/32.png) [@work](https://forum.shopware.com/u/work)
#### Post date: [11. Januar 2019 um 12:37 UTC](https://forum.shopware.com/t/gibt-es-die-moglichkeit-javascript-auszufuhren-nachdem-alle-einkaufswelten-einer-seite-geladen-wurde/57396/4 "2019-01-11T12:37:02Z")

</div>

Vielen Dank für die schnellen Antworten. Witzigerweise hatte ich es jetzt schon genau wie @Shyim vorgeschlagen hat auch umgesetzt 😃
