Помогите пожалуйста: Полоса загрузки

12
Kot Matroskin
На сайте с 29.08.2007
Offline
185
1331

Перелопатил куча сайтов, не нашёл.

Требуется скрипт который бы показывал полосу загрузки, с заданным временем (допустим 10 секунд) а потом выводил место полосы заданный код (в частности к примеру кнопку Перейти или Скачать)

То что находил либо слишком громоздко, либо не работает в некоторых браузерах.

Заранее спасибо!

Я пользовался 11 разными хостингами. Есть только один ЛУЧШИЙ: ★ он тут ★ (https://goo.gl/R6v3zH) Пишите в ЛС за скидкой. VPS тоже в наличие ! Рекомендую.
ixRock
На сайте с 14.11.2006
Offline
46
#1

полосу загрузки всмысле не актуальную? типа лоадера (GIF-картинка)?

если да, то примерно так:


<div id="link"><!--тут выводим утку в виде лоадера--></div>
<script type="text/javascript">
setTimeout(function(){
// тут делаем аякс запрос, получаем ссылку и выводим её вместо лоадера вот так:
// document.getElementById('link') = ajax_data;
}, 10000); // 10 сек.
</script>

можно и без аякса, но тогда ссылка уж слишком палевно будет находится в сурсе страницы)) а если аяксом будем получать можно уже в пхп проверять прошло ли время и выдавать ссылку/или нет..

Работаю [S]за еду и секас[/S] с XHTML, CSS, XSLT, JS, PHP. Если что, вот тут (http://www.mintdesign.ru/) некоторые мои работы. Контакты: ася 344-ноль86-276, мыло ixrock@gmail.com
Kot Matroskin
На сайте с 29.08.2007
Offline
185
#2

Что ссылка палёная не столь важно :) а вот с setTimeout у меня проблема была, в частности в Chrome почему то данный скрипт не работает:

<body onload="timer('timer')">


<script language="JavaScript">
<!-- hide

function timer() {
setTimeout("document.write('ссылка')", 2000);
}

// -->
</script>

</body>
ixRock
На сайте с 14.11.2006
Offline
46
#3
проблема была, в частности в Chrome

незнаю, проверил только что в Google Chrome 3.0.195.33


<script type="text/javascript">
setTimeout(function(){
alert('Hello world!')
}, 2000);
</script>

всё работает..

UPD: только что заметил:

function timer() { setTimeout("document.write('ссылка')", 2000); } - этож неправильное применение! 1-й аргумент для setTimeout должна быть ф-ия.

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#4

У меня по прежнему в chrom нечего не выводит, последняя версия...

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

DeveloperRu
На сайте с 27.02.2009
Offline
72
#5

забейте на хром с его 1% пользователей

Ответы на вопросы (http://telenok.com)
M
На сайте с 28.11.2009
Offline
0
#6

У вас стоит <body onload="timer('timer')">, тоесть в функцию timer передается параметр 'timer', а в самой функции function timer() {} никакого параметра не принимается. уберите 'timer', тоесть <body onload="timer()"> и скажите о результате.

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#7

makingoff, это не принципиально, вроде вообще без этого работает. Короче нет :) не помогает.

Kot Matroskin добавил 28.11.2009 в 18:47

Проблема в document.write('ссылка')

Если делать с alert('Hello world!') везде всё нормально работает.

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#8
Проблема в document.write('ссылка')
Если делать с alert('Hello world!') везде всё нормально работает.

Кто нибудь знает почему проблема в document.write ?

ixRock
На сайте с 14.11.2006
Offline
46
#9

document.write посути нельзя использовать после того, как страница уже была загружена (в данном случае после 10 секунд), да и зачем он вам? его можно заменить как угодно.

например так:

<div id="mylink" style="display:none">ссылка</div>

а после 10 секунд вставляем в нужное место ссылку, путем получения её через document.getElementById('mylink').innerHTML

Kot Matroskin
На сайте с 29.08.2007
Offline
185
#10

что-то не получилось, можете показать рабочий вариант? Я в java полный ноль.

<div id="mylink" style="display:none">ссылка</div>

<script type="text/javascript">
setTimeout(function(){
document.getElementById('mylink').innerHTML
}, 2000);
</script>
12

Авторизуйтесь или зарегистрируйтесь, чтобы оставить комментарий