Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 14.02.2013, 12:37
Интересующийся
Отправить личное сообщение для Marakaya Посмотреть профиль Найти все сообщения от Marakaya
 
Регистрация: 14.08.2012
Сообщений: 14

Запуск скрипта через 5 секунд
Доброго времен, уважаемые форумчане. Помогите пожалуйста мне по такому вопросу. Есть скрипт слайдера, который я подцепляю внизу страницы, который нужен для работы слайдера(хотя это и есть сам слайдер). Как сделать чтобы он подгрузился не сразу, а через 5 секунд?

Вот две строки кода:
<script type="text/javascript" src="engine1/wowslider.js"></script>
<script type="text/javascript" src="engine1/script.js"></script>
Ответить с цитированием
  #2 (permalink)  
Старый 14.02.2013, 13:02
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

скорее всего вам ненужна задержка по времени, я предполагаю что вы таким образом готовности чего то пытаетесь дождаться. В таких случаях запуск должен происходить тогда когда всё готово для запуска, а не через жёстко заданный интервал времени. Это значит что задержка по времени будет худшим из возможных решений.

Собственно по задержке.

пример 1) отложенная загрузка скрипта
<script type="text/javascript" src="engine1/script.js"></script>

пишем
<script>
    setTimeout(function(){
        $.getScript("engine1/script.js");
    },5000)
</script>


пример2) отложенная инициализация.
//в скрипте должна быть прописана какаято функция которую можно вызвать и этот вызов считается запуском 
<script type="text/javascript" src="engine1/script.js"></script>
<script>
    setTimeout(function(){
       myFunction();//вызов функции из скрипта.
    },5000)
</script>
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.02.2013 в 13:10.
Ответить с цитированием
  #3 (permalink)  
Старый 14.02.2013, 13:04
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Вам помогут:
window.setTimeout( .. )
document.createElement('script')
document.body.appendChild( .. )

А вобще, задача странная какая-то. Наверняка решается другим более простым способом.
Ответить с цитированием
  #4 (permalink)  
Старый 14.02.2013, 13:08
Аватар для danik.js
Профессор
Отправить личное сообщение для danik.js Посмотреть профиль Найти все сообщения от danik.js
 
Регистрация: 11.09.2010
Сообщений: 8,804

Опоздал )
DjDiablo, а что не так со вторым способом?
Ответить с цитированием
  #5 (permalink)  
Старый 14.02.2013, 13:14
Интересующийся
Отправить личное сообщение для Marakaya Посмотреть профиль Найти все сообщения от Marakaya
 
Регистрация: 14.08.2012
Сообщений: 14

Попробовал вариант, за который нужно убивать, ничего не вышло, слайдер не запустился. Вообще запускать этот слайдер нужно после того, как пройдет флеш заставка, так как работаю вместе флеш просто ужасно тормозит. А если слайдер не работает - лагов нет. Думаю лучше будет в конце из флеша включить функцию запуска слайдера, но как этот слайдер оформить в одну функцию, я пока не умею. Если есть свободно время - гляньте пожалуйста код этих двух скриптов.
Пы.Сы. не предлагайте использовать другой слайдер С таким эффектом я нашел только этот...
Вложения:
Тип файла: zip engine1.zip (48.4 Кб, 4 просмотров)
Ответить с цитированием
  #6 (permalink)  
Старый 14.02.2013, 13:22
Интересующийся
Отправить личное сообщение для Marakaya Посмотреть профиль Найти все сообщения от Marakaya
 
Регистрация: 14.08.2012
Сообщений: 14

В конце флешки у меня стоит вызов функции
getUrl("javascript:closeblock();"

Функция эта убирает флешку, как я понимаю, перед ней нужно воткнуть функцию запуска слайдера...а как эту функцию сделать ?)
Ответить с цитированием
  #7 (permalink)  
Старый 14.02.2013, 13:50
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

Цитата:
а что не так со вторым способом?
Он не к месту если нужно чего то дождаться, к примеру загрузки чего нибудь. Так как таймер может сработать либо раньше подходящего момента, либо наоборот позже.

Цитата:
getUrl("javascript:closeblock();")
ай да молодца, это единственное правильное решение.

если closeblock это функция в каком то скрипте, а я уверен что это так. То вызове вместо него какойнибудь onStart();

getUrl("javascript:onStart();
function onStart(){
  closeblock();
  alert('привет я onStart');
  //а тут мы запустим слайдер 
}


Цитата:
Попробовал вариант, за который нужно убивать, ничего не вышло, слайдер не запустился
Это лиш пример отложенной загрузки скрипта, как он должен выглядеть именно в вашей ситуации нужно понять самому.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.02.2013 в 13:55.
Ответить с цитированием
  #8 (permalink)  
Старый 14.02.2013, 13:57
Интересующийся
Отправить личное сообщение для Marakaya Посмотреть профиль Найти все сообщения от Marakaya
 
Регистрация: 14.08.2012
Сообщений: 14

Блин, проблема в том, что флешка проигрывается один раз в одной сессии, а если человек зайдет на страницу со слайдером с другой страницы, в рамках одно сессии то он не увидит рабочего слайда, так как 2 скрипта не подгрузятся без проигрывания флешки, которая, проигрывается лишь раз) Как то всё запутано написал). Короче, привязывать функцию с флешкой нельзя, нужно просто включить её на сайте через время, лучше уж пусть она работать начнет немного раньше, до закрытия флешки, чем будет работать всё время заставки. Подскажите как просто добавить 2 куска этого кода через N секунд...
Ответить с цитированием
  #9 (permalink)  
Старый 14.02.2013, 14:01
Интересующийся
Отправить личное сообщение для Marakaya Посмотреть профиль Найти все сообщения от Marakaya
 
Регистрация: 14.08.2012
Сообщений: 14

Сообщение от danik.js Посмотреть сообщение
Вам помогут:
window.setTimeout( .. )
document.createElement('script')
document.body.appendChild( .. )

А вобще, задача странная какая-то. Наверняка решается другим более простым способом.
Я ещё не дошел до синтаксиса javascript'а, подскажите как в эту конструкцию ставить <script type="text/javascript" src="engine1/wowslider.js"></script>
Ответить с цитированием
  #10 (permalink)  
Старый 14.02.2013, 14:04
Профессор
Отправить личное сообщение для DjDiablo Посмотреть профиль Найти все сообщения от DjDiablo
 
Регистрация: 04.02.2011
Сообщений: 1,815

дак ведь показали уже
alert("закройте меня и следующий alert увидите только через 5 секунд");
 setTimeout(function(){
     alert("5 секунд прошло" );
},5000)


впрочем я смотрю в js вы не бум бум.
А слайдер конструктором сделали да ? http://wowslider.com/
__________________
Лучше калымить в гандурасе чем гандурасить на колыме

Последний раз редактировалось DjDiablo, 14.02.2013 в 14:09.
Ответить с цитированием
Ответ



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

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


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Запуск скрипта через некоторое кол-во времени. qwermjk Общие вопросы Javascript 9 31.03.2013 06:15
Запуск php скрипта через ajax hagen3 AJAX и COMET 2 09.09.2011 03:51
Чем можно организовать запуск скрипта атом. по времени. I5Rek Серверные языки и технологии 2 01.05.2011 23:00
переход по ссылке через N секунд jerryfish Events/DOM/Window 4 23.02.2010 17:05
Повторное действие скрипта через определенное время fortitudo jQuery 8 27.01.2010 06:00