Задержка выполнения функции

Тема в разделе "JavaScript", создана пользователем Wertos, 30 ноя 2015.

Модераторы: ZiX
  1. Wertos

    Wertos Постоялец

    Регистр.:
    13 апр 2007
    Сообщения:
    145
    Симпатии:
    27
    Код:
        jQuery(document).ready(function() {
           jQuery("div.slideset img.slide").mouseover(function() {
             src = jQuery(this).attr("src");
              i = 1;
              while (i < 30) {
                        tmp = src.replace(/([0-9])+\_/g, i+"_");
                        jQuery(this).attr("src", tmp);
                        i++;
                    }
                });
        });
    
    скрипт меняет src у изображения.
    Подскажите как сделать это с задержкой... пробовал так
    Код:
    jQuery(this).delay(1000).attr("src", tmp);
    а так-же по разному setTimeOut
    Гуглил... увы... (
     
  2. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.378
    Симпатии:
    563
    чем вас setTimeOut не устроило?
     
  3. Wertos

    Wertos Постоялец

    Регистр.:
    13 апр 2007
    Сообщения:
    145
    Симпатии:
    27
    Возможно я как-то не правильно вставлял setTimeOut, но оно не работало, нужно задерживать выполнения цикла
     
  4. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.378
    Симпатии:
    563
    Так используй внутри цикла setTimeout. Что тебе мешает?
     
  5. Wertos

    Wertos Постоялец

    Регистр.:
    13 апр 2007
    Сообщения:
    145
    Симпатии:
    27
    Ну дак не работает.
    Код:
      function MyFunction()
      {
       var a = 0;
      }
        jQuery(document).ready(function() {
           jQuery("div.slideset img.slide").mouseover(function() {
             src = jQuery(this).attr("src");
              i = 1;
              while (i < 30) {
               setTimeout('MyFunction();', 2000);
                        tmp = src.replace(/([0-9])+\_/g, i+"_");
                    jQuery(this).attr("src", tmp);
                    i++;
                    }
                });
        });
    
    
     
  6. joylord

    joylord Степной Волк

    Регистр.:
    27 дек 2012
    Сообщения:
    293
    Симпатии:
    147
    HTML:
    window.onload=function(){
    setTimeout(function() {
    
    jQuery("div.slideset img.slide").mouseover(function() {
    src = jQuery(this).attr("src");
    i = 1;
    while (i < 30) {
    tmp = src.replace(/([0-9])+\_/g, i+"_");
    jQuery(this).attr("src", tmp);
    i++;
    }
    });
    
    });
    
    }, 2000);
    }
     
  7. Wertos

    Wertos Постоялец

    Регистр.:
    13 апр 2007
    Сообщения:
    145
    Симпатии:
    27
    Увы ( тоже не работает...
     
  8. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.378
    Симпатии:
    563
    Пробуй так, должно пойти
    setTimeout(function(){
    MyFunction();
    }, 2000);
     
  9. Wertos

    Wertos Постоялец

    Регистр.:
    13 апр 2007
    Сообщения:
    145
    Симпатии:
    27
    Код:
      function MyFunction()
      {
       var a = 0;
      }
        jQuery(document).ready(function() {
           jQuery("div.slideset img.slide").mouseover(function() {
             src = jQuery(this).attr("src");
              i = 1;
              while (i < 30) {
                        setTimeout(function(){
                            MyFunction();
                        }, 2000);
                        tmp = src.replace(/([0-9])+\_/g, i+"_");
                    jQuery(this).attr("src", tmp);
                    i++;
                    }
                });
        });
    
    
    увы ( пролетает цикл за долю секунды
     
  10. ZiX

    ZiX Коддинг, Парсинг

    Moderator
    Регистр.:
    9 июл 2011
    Сообщения:
    1.378
    Симпатии:
    563
    Тогда как вариант делать вложенные функции и вызывать саму себя пока i < 30