Czy ktoś orientuje się jak może wyglądać kod JS, który opóźni o parę sekund wykonanie paru linijek kodu? Próbowałem już z: try (Thread.sleep) Timer wait Ale albo nie działały albo uwalały działanie sklepu - wyłączały funkcjonalność koszyka (błędy związane ze zmienną Shop). Z góry dzięki!
Niestety nie znam się na JS, wystawiłem zgłoszenie wewnętrzne, może ktoś na szybko potrafi wskazać rozwiązanie: FEEDBACK-1333
setTimeout(); ? HTML: var delayscript = function(){ /* kod funkcji */ }; setTimeout(delayscript, 2000);
To rozwiązanie działa.. kiedyś testowałem, jednak nie wiemy jakie zadanie ma pełnić funckja, która będzie opóźniona. Wysłane z telefonu.
Dzięki za szybkie odpowiedzi! Kod, którego wykonanie chce opóźnić wygląda tak: Kod: var OSId = document.getElementById('#my-user-id'); $(document).ready(function() { if ($.cookie('modal_shown') == null) { $.cookie('modal_shown', 'sloik-push', { expires: 14, path: '/' }); if (OSId == null) { $('#subModal').delay(2000).fadeIn(500); } } }); Kod działa (w każdym razie pierwszy warunek), modal pojawia się ale nie jestem pewien drugiego warunku. id="my-user-id" jest dynamicznie wypełniane przez inny skrypt i obawiam się, że powyższy kod natrafia jeszcze na OSId == null i zawsze się spełnia. Dlatego chcę go opóźnić. Dodatkowo nie jestem pewien składni. Jak ktoś jest biegły, to proszę o wypowiedź...
Ok, funkcja opóźniająca działa, dzięki! Problem nr 2: jak porównać pustą zawartość elementu. Kod wygląda tak: Kod: var delayscript = function(){ var OSId = document.getElementById('#my-user-id2'); $(document).ready(function () { if (typeof OSId == "") { if ($.cookie('modal_shown') == null) { $.cookie('modal_shown', 'sloik-push', { expires: 14, path: '/' }); $('#subModal').delay(2000).fadeIn(500); } } }); }; setTimeout(delayscript, 15000); I jest problem ze zmienną OSId. Jeżeli jest to pusty ciąg to jak poprawnie go pobrać aby można było użyć do porównania. Ogólnie, to kiedy zawartość span jest pusta: Kod: <span id="my-user-id2"></span> kod ma ustawić ciasteczko oraz właśnie wyświetlić modal. Jeżeli usunę warunek z OSId albo zamienię je mijescami to modal się wyświetla jeżeli nie znajdzie ciasteczka, to jesti ok. Czyli mam problem z odczytaniem pustej wartości zmiennej OSId zawartej w '#my-user-id2...
Ok, udało mi się znaleźć rozwiązanie. Jeżeli komuś się przyda, to wygląda tak: Kod: var delayscript = function(){ var str = $('#my-user-id2').text().length; $(document).ready(function () { if (!str || str === 0) { if ($.cookie('modal_shown') == null) { $.cookie('modal_shown', 'sloik-push', { expires: 14, path: '/' }); $('#subModal').fadeIn(800); } } }); }; setTimeout(delayscript, 10000); Oczywiście nazwy obiektów mogą być różne. A problem dotyczył zamiany ciągu z wartości na tekst...