|
|
|
| Доброго времени суток.
у меня вот какая задача:
Нужно что б при заходе на сайт, когда загрузилась страница, показывалась надпись:
через (х) секунд вы будете перемещены на сайт такой-то...
и в том месте там где (х) шол отсчет 10... 9... 8... и т.д.
За рание благодарю за ответ | |
|
|
|
|
|
|
|
для: Leon22
(30.08.2008 в 21:01)
| | в подфорум о JavaScript обратись...
там помогут... | |
|
|
|
|
|
|
|
для: Leon22
(30.08.2008 в 21:01)
| | попробовал сделать такой редирект на главную страницу,
но почему-то время в javascript не совпадает с цифрой указанной в <meta>
<html>
<head>
<meta http-equiv="Refresh" content="20; url=/"/>
</head>
<body>
<div id="d" style="margin: 0 10%; text-align:center; font:bold 75px Arial; border: double 5px red;">10</div>
<script language="javascript">
var t = 10;
var flag = null;
var d = document.getElementById('d');
function gt() {
t--;
d.innerHTML = t ;
if (t==0) clearInterval(flag);
}
flag = setInterval('gt()', 1000);
</script>
<p>
wait......
</p>
</body>
</html>
|
| |
|
|
|
|
|
|
|
для: xx77
(31.08.2008 в 02:14)
| | Это не онтосится к РНР, да и в метатеге вы одно время указываете, а интервалу другое.
<html>
<head>
</head>
<body>
<div id="d">20</div>
<script language="javascript">
var t = 20;
function gt() {
if (!t) window.location = "http://domain.ru/";
else {
t--;
document.getElementById('d').innerHTML = t;
}
}
setInterval('gt()', 1000);
</script>
<p>
wait......
</p>
</body>
</html>
|
| |
|
|
|
|
автор: xx7 (31.08.2008 в 09:20) |
|
|
для: sim5
(31.08.2008 в 09:08)
| | Указывал по 10, последней напечатанной цифрой была 2ка. | |
|
|
|
|
|
|
|
для: xx7
(31.08.2008 в 09:20)
| | Только не надо ля-ля, вы уменьшаете переменную на 1, которой изначально устанавили значение равное 10. Если бы у вас и могло появится 20, то только -20. | |
|
|
|
|
|
|
|
для: sim5
(31.08.2008 в 10:20)
| | симмитировал то о чём я говорил
<?
header('Content:text/html; charset=windows-1251');
?>
<html>
<head>
<meta http-equiv="Refresh" content="10; url=/"/>
</head>
<body>
<div id="d">10</div>
<script language="javascript">
var t = 10;
function gt() {
if (!t) clearInterval(f);
else {
t--;
document.getElementById('d').innerHTML = t;
}
}
var f = setInterval('gt()', 1000);
</script>
<p>
wait......
</p>
</body>
</html>
|
оказалось что это из-за того что у меня в начале файла стоял header()
мета применял чтобы независимо от того включен-ли javascript происходило перенаправление
UPD//
tested only in Opera | |
|
|
|
|
|
|
|
для: xx77
(31.08.2008 в 11:39)
| | Если вы делаете таймер на JS, то нет никакой неодходимости еще указывать и метатег "Refresh". Ну вот к чему эти два таймера? | |
|
|
|
|
|
|
|
для: sim5
(31.08.2008 в 11:58)
| | просто никчёмные таймеры ))
в последнее время всё чаще выключаю javascript в браузере , что-бы не качать у всех jquery )
и хоть чуть-чуть поберечь gprs-траффик. но и правда нет ничего лучше ссылки типа [url=#]<a>Кликните сюда , если по каким-то причинам Вы ещё не переместились куда-нибудь .)</a> [/url] | |
|
|
|
|
|
|
|
для: xx77
(31.08.2008 в 12:24)
| | Вы можете себе все отключить, вплоть сам браузер. Но если вы зайдествуете JS сценарий, и, если предполагаете, что у пользователя может быть отключен JS, то и писать код надо соответствующее, чего у вас никак не наблюдается. | |
|
|
|
|
|
|
|
для: sim5
(31.08.2008 в 12:32)
| | если на то пошло ,)
отключите в опере автоматическое перенаправление, запустите вашу функцию
и понаблюдайте за крестиком индикатирующим загружена-ли страница )) | |
|
|
|
|
|
|
|
для: xx77
(31.08.2008 в 12:49)
| | Если на то пошло, то в этом случае и метатег не сработает, так что не важно, чем вы пытаетесь перенаправить, через метатег, или по интервалу window.location. | |
|
|
|
|
|
|
|
для: sim5
(31.08.2008 в 12:56)
| | но всётаки в вашей функции есть баг зацикливающий браузер при отключенном перенаправлении
, а в моей его нет ;))
всё-таки реализуя похожее , реализатор будет сам реализовывать так как ему нравится , на своё реализаторское усмотрение ) мы лишь показываем возможные механизмы реализации.
ушёл пить чай ,)) | |
|
|
|
|
|
|
|
для: xx77
(31.08.2008 в 13:09)
| | Нет там никакаго бага, просто надо очистить итервал, я это просто опустил когда писал, добавьте, и ничего страшного не произойдет. | |
|
|
|