2017-01-19 3 views
-1

Я хочу запустить этот скрипт на pageload или после загрузки всех элементов.JS onpage/load load

JavaScript

<script type="text/javascript"> 
    function backgroundload(){ 
      $(".portfolio-background-color") 
       var color = /#[0-9\A-F]+/.exec($(this).html())[0]; 
       $(this).css('background', color) 
     } 
     window.onload = backgroundload; 
</script> 

Я новичок в JS, пожалуйста, проверьте, если мой код в порядке и это правильный путь для загрузки JS

+1

Попробуйте сами и посмотрите на консоль браузера. Вы увидите некоторые ошибки. – str

ответ

1

Все Javascript работает на странице загрузки. Если то, что вы имеете в виду, что вы хотите, чтобы работать после того, как все элементы на странице были инициализированы, есть несколько способов:

  • window.onload
  • document.onload
  • body.onload
  • $ (документ) .ready

Есть более углубленные объяснения поддержки первых трех, и различия между ними, here. Документация для $(document).ready: here.

Однако, по моему опыту, самый простой способ гарантировать, что сценарий запускается после того, как все содержимое с синхронной загрузкой просто поместить элемент <script> в нижней части <body>.

+0

после загрузки всех элементов. –

+1

Все это в некоторой степени выполнит, но, как я уже сказал, самым простым и наиболее пуленепробивным является просто поместить элемент сценария после элементов. – furkle

+0

+1 к @furkle. В некоторых случаях сценарий не будет захватывать правый элемент, если он помещен в начало '' – Tien

Смежные вопросы