Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 12.09.2016, 21:23
Новичок на форуме
Отправить личное сообщение для Alexks Посмотреть профиль Найти все сообщения от Alexks
 
Регистрация: 12.09.2016
Сообщений: 2

Вызвать jQuery функцию из блока <script> на странице
К html странице подключен файл tlist.js, содержимое:
jQuery(function($){
    $('#a_print').click(function(){
       // обработка click по a_print
    });

    var Autoload = function(){
      // AJAX запросы на сервер
    }
});


Чуть ниже на этой html странице блок
<script type='text/javascript'>
    var intervID = setInterval( window.Autoload, 20000);
</script>


Сообщений об ошибке нет, но и Autoload не вызывается. Помогите разобраться, пожалуйста.
Ответить с цитированием
  #2 (permalink)  
Старый 12.09.2016, 21:26
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Alexks,
строка 6 недоступна для интервала, уберите var
Ответить с цитированием
  #3 (permalink)  
Старый 12.09.2016, 21:38
Новичок на форуме
Отправить личное сообщение для Alexks Посмотреть профиль Найти все сообщения от Alexks
 
Регистрация: 12.09.2016
Сообщений: 2

Убрал, но результат тот же - Autoload через интервал не вызывается, ошибок нет (кеш в браузере отключен).

На html странице расположены так
<script type='text/javascript' src='tlist.js'></script>
<script type='text/javascript'>
    var intervID = setInterval( window.Autoload, 20000);
</script>


Если вызывать функцию из интервала так
<script type='text/javascript'>
    var intervID = setInterval( Autoload(), 20000);
</script>

То появляется сообщение об ошибке: ReferenceError: Autoload is not defined

Последний раз редактировалось Alexks, 12.09.2016 в 21:57.
Ответить с цитированием
  #4 (permalink)  
Старый 12.09.2016, 22:42
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Сообщение от Alexks
Если вызывать функцию из интервала так
это не вызов, это либо в скобки поставить, либо обернуть в анонимную функцию
Ответить с цитированием
  #5 (permalink)  
Старый 12.09.2016, 22:43
Аватар для рони
Профессор
Отправить личное сообщение для рони Посмотреть профиль Найти все сообщения от рони
 
Регистрация: 27.05.2010
Сообщений: 33,126

Alexks,
<!DOCTYPE html>

<html>
<head>
  <title>Untitled</title>
  <meta charset="utf-8">
  <style type="text/css">
  </style>
  <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.12.4/jquery.min.js"></script>

  <script>

jQuery(function($){
    $('#a_print').click(function(){
       // обработка click по a_print
    });

    Autoload = function(){  alert('abracadabra');
      // AJAX запросы на сервер
    } ;

});
  Autoload()
  </script>

<script type='text/javascript'>


    var intervID = window.setInterval(function() {
   Autoload()
},5000);


</script>

</head>

<body>


</body>
</html>
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
задать у opener функцию и вызвать её igrok Events/DOM/Window 8 18.05.2011 12:09
Как динамически изменить размер блока с флешкой из флешки с помощью jQuery Aleksandr_SAM Flash 3 30.11.2010 22:59
jQuery, load: замена элемента вырубает js на странице. warobushek AJAX и COMET 0 08.10.2010 07:44
Как динамически изменить размер блока с флешкой из флешки с помощью jQuery Aleksandr_SAM jQuery 0 15.09.2010 02:17
Jquery редактирование блока анкеты kodiua jQuery 0 22.02.2010 13:52