Удалить задержку выполнения из Javasript

#javascript

#javascript

Вопрос:

При запуске следующего скрипта на этой странице происходит задержка следующего выполнения, потому что, когда у меня нет функции window.onload, код выполняется до загрузки страницы, а я хотел, чтобы код выполнялся после загрузки страницы.

Есть ли другой способ выполнить следующий скрипт сразу после загрузки страницы и без задержки.

Изображение: Красная стрелка указывает на элемент redemptionsearchslider

 <script>
window.onload = function () {
    setTimeout(loadAfterTime, 10)
};

function loadAfterTime() {
    document.getElementById('redemptionsearchslider').nextSibling.click();
    document.getElementById('redemptionsearchslider').parentElement.parentElement.style.display = 'none';
}
</script>
  

Комментарии:

1. это звучит как проблема X / Y. Какой желаемый эффект вы хотите увидеть?

2. Вы можете выполнить загрузку страницы с помощью window.addEventListener("load",loadAfterTime)

3. Я хочу, чтобы следующий код запускался после загрузки страницы document.getElementById(‘redemptionsearchslider’).nextSibling.click(); document.getElementById(‘redemptionsearchslider’).parentElement.parentElement.style.display = ‘none’;

Ответ №1:

Вы могли бы попробовать это:

 document.addEventListener("DOMContentLoaded", function(){
    // Your code goes here
});
  

Комментарии:

1. Если это решение сработало для вас, вы должны пометить его как принятый ответ или проголосовать за @Ayaz

2. Я сделал @StPaulis, но поскольку я новичок, он просто записывает это, но не показывает вам… Я получаю это сообщение при голосовании. «Спасибо за отзыв! Голоса, поданные теми, у кого репутация менее 15, записываются, но не изменяют публично отображаемую оценку публикации. »

Ответ №2:

Вы можете написать <script> тег сразу после элемента HTML "redemptionsearchslider" . Таким образом, вы сможете выполнить код как можно скорее.

Что-то вроде этого:

 <div id="redemptionsearchslider">...</div>

<script>
(function () {
    function loadAfterTime() {
        document.getElementById('redemptionsearchslider').nextSibling.click();
        document.getElementById('redemptionsearchslider').parentElement.parentElement.style.display = 'none';
    }

    setTimeout(loadAfterTime, 10)
})();
</script>
  

Ответ №3:

Вы можете удалить setTimeout

 window.addEventListener("load",loadAfterTime);
  

будет выполняться при загрузке страницы