14.02.2013, 12:37
|
Интересующийся
|
|
Регистрация: 14.08.2012
Сообщений: 14
|
|
Запуск скрипта через 5 секунд
Доброго времен, уважаемые форумчане. Помогите пожалуйста мне по такому вопросу. Есть скрипт слайдера, который я подцепляю внизу страницы, который нужен для работы слайдера(хотя это и есть сам слайдер). Как сделать чтобы он подгрузился не сразу, а через 5 секунд?
Вот две строки кода:
<script type="text/javascript" src="engine1/wowslider.js"></script>
<script type="text/javascript" src="engine1/script.js"></script>
|
|
14.02.2013, 13:02
|
Профессор
|
|
Регистрация: 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.
|
|
14.02.2013, 13:04
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Вам помогут:
window.setTimeout( .. )
document.createElement('script')
document.body.appendChild( .. )
А вобще, задача странная какая-то. Наверняка решается другим более простым способом.
|
|
14.02.2013, 13:08
|
|
Профессор
|
|
Регистрация: 11.09.2010
Сообщений: 8,804
|
|
Опоздал )
DjDiablo, а что не так со вторым способом?
|
|
14.02.2013, 13:14
|
Интересующийся
|
|
Регистрация: 14.08.2012
Сообщений: 14
|
|
Попробовал вариант, за который нужно убивать, ничего не вышло, слайдер не запустился. Вообще запускать этот слайдер нужно после того, как пройдет флеш заставка, так как работаю вместе флеш просто ужасно тормозит. А если слайдер не работает - лагов нет. Думаю лучше будет в конце из флеша включить функцию запуска слайдера, но как этот слайдер оформить в одну функцию, я пока не умею. Если есть свободно время - гляньте пожалуйста код этих двух скриптов.
Пы.Сы. не предлагайте использовать другой слайдер С таким эффектом я нашел только этот...
|
|
14.02.2013, 13:22
|
Интересующийся
|
|
Регистрация: 14.08.2012
Сообщений: 14
|
|
В конце флешки у меня стоит вызов функции
getUrl("javascript:closeblock();"
Функция эта убирает флешку, как я понимаю, перед ней нужно воткнуть функцию запуска слайдера...а как эту функцию сделать ?)
|
|
14.02.2013, 13:50
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
Цитата:
|
а что не так со вторым способом?
|
Он не к месту если нужно чего то дождаться, к примеру загрузки чего нибудь. Так как таймер может сработать либо раньше подходящего момента, либо наоборот позже.
Цитата:
|
getUrl("javascript:closeblock();")
|
ай да молодца, это единственное правильное решение.
если closeblock это функция в каком то скрипте, а я уверен что это так. То вызове вместо него какойнибудь onStart();
getUrl("javascript :onStart();
function onStart(){
closeblock();
alert('привет я onStart');
//а тут мы запустим слайдер
}
Цитата:
|
Попробовал вариант, за который нужно убивать, ничего не вышло, слайдер не запустился
|
Это лиш пример отложенной загрузки скрипта, как он должен выглядеть именно в вашей ситуации нужно понять самому.
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 14.02.2013 в 13:55.
|
|
14.02.2013, 13:57
|
Интересующийся
|
|
Регистрация: 14.08.2012
Сообщений: 14
|
|
Блин, проблема в том, что флешка проигрывается один раз в одной сессии, а если человек зайдет на страницу со слайдером с другой страницы, в рамках одно сессии то он не увидит рабочего слайда, так как 2 скрипта не подгрузятся без проигрывания флешки, которая, проигрывается лишь раз) Как то всё запутано написал). Короче, привязывать функцию с флешкой нельзя, нужно просто включить её на сайте через время, лучше уж пусть она работать начнет немного раньше, до закрытия флешки, чем будет работать всё время заставки. Подскажите как просто добавить 2 куска этого кода через N секунд...
|
|
14.02.2013, 14:01
|
Интересующийся
|
|
Регистрация: 14.08.2012
Сообщений: 14
|
|
Сообщение от danik.js
|
Вам помогут:
window.setTimeout( .. )
document.createElement('script')
document.body.appendChild( .. )
А вобще, задача странная какая-то. Наверняка решается другим более простым способом.
|
Я ещё не дошел до синтаксиса javascript'а, подскажите как в эту конструкцию ставить <script type="text/javascript" src="engine1/wowslider.js"></script>
|
|
14.02.2013, 14:04
|
Профессор
|
|
Регистрация: 04.02.2011
Сообщений: 1,815
|
|
дак ведь показали уже
alert("закройте меня и следующий alert увидите только через 5 секунд");
setTimeout(function(){
alert("5 секунд прошло" );
},5000)
впрочем я смотрю в js вы не бум бум.
А слайдер конструктором сделали да ? http://wowslider.com/
__________________
Лучше калымить в гандурасе чем гандурасить на колыме
Последний раз редактировалось DjDiablo, 14.02.2013 в 14:09.
|
|
|
|