[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Смена страницы
tim640
Очень нужна помощь.
Нужен некий скрипт, который будет в зависимости от указанного времени переадресовывать на другую страницу. Чтобы вышел некий круг -
с 7 до 11 одна страница, с нее переадресация на другую; она показывается с 11 до 18, и переадресовывается на следующую; и так до тех пор, пока опять не дойдет до 7 утра. Скрипт, по-видимому, похож на скрипт смены фона по времени суток, но мне его переделать не удалось. Помогите, пожалуйста!



Спустя 1 час, 36 минут, 56 секунд (13.12.2009 - 18:12) waldicom написал(а):
Для чего тут постоянно переадресация? Это получается, если я зашел в 10 утра, то меня перенаправят на страницу 11-18, потом на следущую, потом на следующую и так далее, пока я снова не приду на страницу 7-10, с которой меня перенаправят на страницу 11-18 и смотри выше?

Спустя 9 минут, 16 секунд (13.12.2009 - 18:21) tim640 написал(а):
Так в том-то и дело, что надо сделать так, чтобы в указанное время показывалась своя страница. Т.е. зашел ты в 10, и появилась страница со временем 7-11, т.к. 10 входит в промежуток между 7 и 11. Ну и по аналогии.
Тут вообще такая штука - есть скрипт ДВИЖУЩЕГОСЯ фона. Вот он:

<script language="JavaScript">
<!--
imageheight=121
imagewidth=939
dir="left"
position_right=0
border_top=0
border_left=0
D_time=""
posnow= 0
running=0
function init(){
win_width=document.body.clientWidth
win_height=document.body.clientHeight
posx_right=win_width-imagewidth
which_way()
}
function which_way(){
if(running==1){return}
running=1
if(dir=="up"){document.body.style.backgroundRepeat="repeat-y" ; scrollup()}
if(dir=="down"){document.body.style.backgroundRepeat="repeat-y" ; scrolldown()}
if(dir=="left"){document.body.style.backgroundRepeat="repeat-x" ; scrollleft()}
if(dir=="right"){document.body.style.backgroundRepeat="repeat-x" ; scrollright()}
}

function scrollup(){
clearTimeout(D_time)
posnow-=2
if(posnow<= -imageheight){posnow= 0}
if(position_right==0){document.body.style.backgroundPosition=border_left+" "+posnow}
else{document.body.style.backgroundPosition=posx_right+" "+posnow}
D_time=setTimeout("scrollup()",50)
}
function scrolldown(){
сlearTimeout(D_time)
posnow+=2
if(posnow>= imageheight){posnow= 0}
if(position_right==0){document.body.style.backgroundPosition=border_left+" "+posnow}
else{document.body.style.backgroundPosition=posx_right+" "+posnow}
D_time=setTimeout("scrolldown()",50)
}
function scrollleft(){
clearTimeout(D_time)
posnow-=1
if(posnow<= -imagewidth){posnow= 0}
document.body.style.backgroundPosition=posnow+" "+border_top
D_time=setTimeout("scrollleft()",90)
}
function scrollright(){
clearTimeout(D_time)
posnow+=2
if(posnow>= imagewidth){posnow= 0}
document.body.style.backgroundPosition=posnow+" "+border_top
D_time=setTimeout("scrollright()",50)
}
// -->
</script>
<BODY
onload="init()" style="background: #e2f1ff url(vase_on_table.gif)">

Вообще там картинка неба с облаками, и это все на фоне сайта. Ну вот и надо, чтобы оно сменялось в зависимости от времени суток, но поскольку нет вроде такого скрипта, который бы заменял не просто картинку, а целый скрипт, я решил, что надо бы это все через переадресацию провернуть...

Спустя 3 часа, 9 минут, 6 секунд (13.12.2009 - 21:30) waldicom написал(а):
$beginAdvetrisingTime = 19;
$endAdvetrisingTime = 20;

$hoursNow = (int)date('H');

if($hoursNow >= $beginAdvetrisingTime && $hoursNow < $endAdvetrisingTime){
//<HERE YOUR CODE>
}


?

Спустя 1 день, 3 часа, 5 минут, 40 секунд (15.12.2009 - 00:36) tim640 написал(а):
А с помощью JS есть что-нибудь?.. Люди, правда, подскажите, не выходит у меня смена фона. И время поджимает... Реально, если не вы, то я все завалю...

Спустя 13 часов, 16 минут, 8 секунд (15.12.2009 - 13:52) tim640 написал(а):
Товарищи... Все же нужна переадресация на другие страницы, как я писал выше. Ибо кроме изображения нужно еще и музыку менять... Все же, неужели нельзя сделать скрипт на JS, который бы перенаправлял на другую страницу по времени?.. Скрипт по типу как у waldicom, но на JS. То бишь вот одна страница показывается с 19 до 20, а потом переадресовывает на следующую. Та показывается с 20 до 21, и переадресовывает на следующую...

Спустя 10 минут, 49 секунд (15.12.2009 - 14:03) waldicom написал(а):
<script type="text/javascript">
var jetzt = new Date();
var Std = jetzt.getHours();
if (Std >= 5 && Std < 12) {
alert("УТРО");
} else if (Std >= 12 && Std < 18) {
alert("ДЕНЬ");
} else if (Std >= 18 && Std <= 23) {
alert("ВЕЧЕР");
} else if (Std >= 0 && Std < 5) {
alert("СПАТЬ!");
}
</script>

типа такого?

Спустя 6 минут, 11 секунд (15.12.2009 - 14:09) glock18 написал(а):
waldicom
думаю, ответ будет часов в 18 дан smile.gif

Спустя 2 часа, 43 минуты, 56 секунд (15.12.2009 - 16:53) tim640 написал(а):
Не, проблему уже решил.) Перепробовав все скрипты, которые тут были, подумав, что мне надо, и вспомнив все, что я знаю, я-таки собрал нужный мне рабочий скрипт.) Кому интересно -


<script language="JavaScript">
<!--
date = new Date();date = date.getHours();
if (date >= 0 && date < 6) {document.location="sky2.html"}
else {if (date >= 6 && date < 7) {document.location="sky3.html"}
else {if (date >= 7 && date < 8) {document.location="sky4.html"}
else {if (date >= 8 && date < 11) {document.location="sky.html"}
else {if (date >= 11 && date < 19) {document.location="sky5.html"}
else {if (date >= 19 && date < 21) {document.location="sky6.html"}
else {if (date >= 21 && date < 22) {document.location="sky7.html"}
else {if (date >= 22 && date < 23) {document.location="sky8.html"}
else {if (date >= 23 && date < 0) {document.location="sky9.html"}
else {document.location="sky.html"} } } } } } } } }
//-->
</script>


Теперь другая проблема есть... Как сделать автоматическое обновление страницы в указанные часы? Т.е. Чтобы страница автоматически обновлялась в 0, 6, 7, 8, 11, 19, 21, 22 и 23 часа. Фишка с тегом <meta> просто начинает обновлять страницу через указанный промежуток времени с открытия страница, а это отнюдь не то...

Спустя 16 минут, 58 секунд (15.12.2009 - 17:10) waldicom написал(а):
setInterval ?

Спустя 19 минут, 56 секунд (15.12.2009 - 17:30) tim640 написал(а):
СетИнтевал же вроде отсчитывает равные промежутки времени, нет? Час там, два, три... А тут-то разные нужны промежутки, да еще и чтобы он опять-таки считывал время пользователя...

Спустя 4 часа, 30 минут, 9 секунд (15.12.2009 - 22:00) tim640 написал(а):
Товарищи...

Спустя 3 минуты, 18 секунд (15.12.2009 - 22:03) VolCh написал(а):
Получаешь время, смотришь сколько осталось до ближайшей смены и ставишь setInterval на такое время...

Спустя 23 секунды (15.12.2009 - 22:04) waldicom написал(а):
Джентельмены, давайте думать немного своей головой...
Что будеи, если по истечении N секунд запускать функцию, которая проверяет что-то, если это что-то что-то, то функция делает что-то...

Спустя 1 день, 1 час, 13 минут, 12 секунд (16.12.2009 - 23:17) tim640 написал(а):
Уважаемые друзья, ну помогите мне хоть кто-нибудь... Елки, единственный скрипт остался в тумане, и его не воплотить!.. Я, конечно, поступлю очень нескромно, но то, что пока у меня выходит после такой работы, превышает даже мои ожидания, хотя я сам разрабатывал дизайн и концепцию сайта. Товарищи, ну просто уже на колени готов встать...

Спустя 5 дней, 17 часов, 58 минут, 37 секунд (22.12.2009 - 17:16) inpost написал(а):
$now = время сейчас
Часы поставь в переменные, можно массивом $time[],
После в цикле делай проверк: $now - $time = результат $ok, если $ok <0, то цикл продолжается, находишь таким образом ближайшую переменную к этому времени. Получили положительный результат, значит нашли дату, которая уже прошла - $time[5], прибавили ей +1, получили $time[6] (следующая дата для перезагрузки). Проверяем интервал от $now до $time[6], получили значение, через сколько нужно будет обновить страницу!

Думаю есть более удобные функции, но я их не знаю, так как не изучал ещё джаваскрипты много!
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2025 Invision Power Services, Inc.