2013-05-03 4 views
0

У меня есть следующие JavaScripts:Запуск несколько сценариев после загрузки страницы

<script type="text/javascript"> 
     $('#HomeSlideShow ul.images').jSlideshow({ 
      auto: true, 
      delay: 15, 
      indicators: '#HomeSlideShow ul.indicators' 
     }); 
</script> 

И:

<script type="text/javascript">window.onload = function() { 
document.getElementById('Features').style.visibility = 'Visible'; 
};</script> 

Я хотел бы объединить первый скрипт в функцию OnLoad второго сценария. Чтобы оба сценария выполнялись после загрузки страницы.

+1

Разве вы не можете просто вырезать код из первого и вставить его в функцию OnLoad? Извините, если я не понимаю проблему. Можете ли вы лучше объяснить, что вы имеете в виду? – tomca32

+0

Вы, наверное, можете, мои знания о java практически ни к чему. – Reafidy

+0

В этом случае используйте Кристоферский ответ ниже. – tomca32

ответ

5

Это будет работать после загрузки DOM. http://api.jquery.com/ready/

$(document).ready(function() { 

     $('#HomeSlideShow ul.images').jSlideshow({ 
      auto: true, 
      delay: 15, 
      indicators: '#HomeSlideShow ul.indicators' 
     }); 

     document.getElementById('Features').style.visibility = 'Visible'; 

}); 

или короткая рука для .ready()

$(function() { 

      $('#HomeSlideShow ul.images').jSlideshow({ 
       auto: true, 
       delay: 15, 
       indicators: '#HomeSlideShow ul.indicators' 
      }); 

      document.getElementById('Features').style.visibility = 'Visible'; 

}); 
+1

Если по какой-то причине вы хотите сохранить два бита в отдельных файлах, вы можете просто использовать '$ (document) .ready (function() {...});' обернуть оба из них. Более или менее одно и то же (если вам все равно, какой порядок они выполняют). – ryryguy

+0

Второй пример - это просто IIFE, а не стенограмма 'document.ready'. Я предполагаю, что вы на самом деле хотели написать 'jQuery (function ($) {...});'. – zzzzBov

+0

Вы вправе:}, Отредактировано. –

1
<script type="text/javascript"> 
    $(function() { 
     $('#HomeSlideShow ul.images').jSlideshow({ 
      auto: true, 
      delay: 15, 
      indicators: '#HomeSlideShow ul.indicators' 
     }); 

     $('#Features').css({ visibility: 'Visible' }); 
    }); 
</script> 

Использование JQuery, чтобы добавить столько вещей для запуска при загрузке страницы, как вам нравится. Это может быть так же легко, как это сделано:

<script type="text/javascript"> 
    $(function() { 
     $('#HomeSlideShow ul.images').jSlideshow({ 
      auto: true, 
      delay: 15, 
      indicators: '#HomeSlideShow ul.indicators' 
     }); 
    }); 
</script> 

...

<script type="text/javascript"> 
    $(function() { 
     $('#Features').css({ visibility: 'Visible' }); 
    }); 
</script> 
+0

Извините, я просто не понимаю, ваш код даже не имеет события windows.onload. Мне нужен код для запуска после того, как страница загрузила все изображения. – Reafidy

+0

Хорошо с небольшим количеством проб и ошибок. Я заменил '' '' 'window.onload =', и он сработал. Я понимаю, что все будут похожи на «хорошо дух». Но, исходя из фона vb.net, я буквально ничего не знаю о javascript. Спасибо за вашу помощь. – Reafidy

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