binders
23-01-2009, 00:11
Как сделать смену оформления сайта в зависимости от времени суток в php
для HTML нашол а для PHP нет
давай попробуем это изобразить...
возьмем стандартный скрипт приветствия от времени суток:
<script language="JavaScript">
<!--
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) document.write("Доброй ночи!");
if(hour > 6 & hour <= 11) document.write("Доброе утро!");
if(hour > 11 & hour <= 18) document.write("Добрый день!");
if(hour > 18 & hour <= 22) document.write("Добрый вечер!");
// -->
</script>
изменяем его под наши нужды:
<script language="JavaScript">
<!--
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) parent.setstyle(style1.css); //ночь
if(hour > 6 & hour <= 11) parent.setstyle(style2.css); //утро
if(hour > 11 & hour <= 18) parent.setstyle(style3.css); //день
if(hour > 18 & hour <= 22) parent.setstyle(style4.css); //вечер
// -->
</script>
в принципе скрипт готов... его нужно поместить в радел body любого фрейма...
при входе в чат пользователь получит тот стиль, что соответствует времени суток...
но этот стиль останется таким все время нахождения чатланина в чате,
если только он не поменяет стиль вручную...
можно чуть изменить скрипт, чтобы автоматически происходила смена стиля при постоянном нахождении чатланина в чате:
<script language="JavaScript">
<!--
function styletime() {
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) { parent.setstyle('style1.css'); }
if(hour > 6 & hour <= 11) { parent.setstyle('style2.css'); }
if(hour > 11 & hour <= 16) { parent.setstyle('style3.css'); }
if(hour > 16 & hour <= 22) { parent.setstyle('style4.css'); }
setTimeout("styletime()",5*60*1000) }
// -->
</script>
проверка осуществляется раз в пять минут, думаю, что этого достаточно...
ну, и нужно не забыть про запуск самой функции:
<script>styletime();</script>
и есть ещо один способ
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCSS()
{
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 20)
display = "tree_twilight.css";
else if (thehour > 17)
display = "tree_sunset.css";
else if (thehour > 14)
display = "tree_afternoon.css";
else if (thehour > 11)
display = "tree_noon.css";
else if (thehour > 7)
display = "tree_morning.css";
else if (thehour > 4)
display = "tree_sunrise.css";
else if (thehour > 1)
display = "tree_twilight.css";
else
display = "tree_sunset.css";
var css = '<'; css+='link rel="stylesheet" href=' + display + ' \/'; css+='>';
document.write(css);
// End -->
}
</script>
<script language="javascript">getCSS();</script>
Устанавливаем один из стилей как дефолтный,
на случай, если у пользователя отключен JS.
<noscript>
<link rel="stylesheet" href="tree_sunset.css" type="text/css">
</noscript>
Но ето всё не то
мне надо чтобы 4 раза в сутки было так
<body id="dusk" class="f-default style<?=$num_sait['stail'];?>">
<body id="night" class="f-default style<?=$num_sait['stail'];?>">
<body id="day" class="f-default style<?=$num_sait['stail'];?>">
<body id="dawn" class="f-default style<?=$num_sait['stail'];?>">
тоесть "dusk" , "night" , "day" , "dawn" менялись местами по времени
имею это и немного знаю PHP
// Это скрипт JS
window.addEvent('load', function() {
if (document.body.id == '') {
if (tempus != false) {
timeofday = tempus;
document.body.id=tempus;
} else {
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour >= 20)
timeofday = "night";
else if (thehour >= 17)
timeofday = "dusk";
else if (thehour >= 9)
timeofday = "day";
else if (thehour >= 5)
timeofday = "dawn";
else
timeofday = "night";
document.body.id=timeofday;
}
Cookie.set('dim-tempus', timeofday, {duration: 1/24,path: "/"});
}
});
для HTML нашол а для PHP нет
давай попробуем это изобразить...
возьмем стандартный скрипт приветствия от времени суток:
<script language="JavaScript">
<!--
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) document.write("Доброй ночи!");
if(hour > 6 & hour <= 11) document.write("Доброе утро!");
if(hour > 11 & hour <= 18) document.write("Добрый день!");
if(hour > 18 & hour <= 22) document.write("Добрый вечер!");
// -->
</script>
изменяем его под наши нужды:
<script language="JavaScript">
<!--
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) parent.setstyle(style1.css); //ночь
if(hour > 6 & hour <= 11) parent.setstyle(style2.css); //утро
if(hour > 11 & hour <= 18) parent.setstyle(style3.css); //день
if(hour > 18 & hour <= 22) parent.setstyle(style4.css); //вечер
// -->
</script>
в принципе скрипт готов... его нужно поместить в радел body любого фрейма...
при входе в чат пользователь получит тот стиль, что соответствует времени суток...
но этот стиль останется таким все время нахождения чатланина в чате,
если только он не поменяет стиль вручную...
можно чуть изменить скрипт, чтобы автоматически происходила смена стиля при постоянном нахождении чатланина в чате:
<script language="JavaScript">
<!--
function styletime() {
var time = new Date();
var hour = time.getHours();
if(hour > 22 & hour <= 6) { parent.setstyle('style1.css'); }
if(hour > 6 & hour <= 11) { parent.setstyle('style2.css'); }
if(hour > 11 & hour <= 16) { parent.setstyle('style3.css'); }
if(hour > 16 & hour <= 22) { parent.setstyle('style4.css'); }
setTimeout("styletime()",5*60*1000) }
// -->
</script>
проверка осуществляется раз в пять минут, думаю, что этого достаточно...
ну, и нужно не забыть про запуск самой функции:
<script>styletime();</script>
и есть ещо один способ
<SCRIPT LANGUAGE="JavaScript">
<!-- Begin
function getCSS()
{
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour > 20)
display = "tree_twilight.css";
else if (thehour > 17)
display = "tree_sunset.css";
else if (thehour > 14)
display = "tree_afternoon.css";
else if (thehour > 11)
display = "tree_noon.css";
else if (thehour > 7)
display = "tree_morning.css";
else if (thehour > 4)
display = "tree_sunrise.css";
else if (thehour > 1)
display = "tree_twilight.css";
else
display = "tree_sunset.css";
var css = '<'; css+='link rel="stylesheet" href=' + display + ' \/'; css+='>';
document.write(css);
// End -->
}
</script>
<script language="javascript">getCSS();</script>
Устанавливаем один из стилей как дефолтный,
на случай, если у пользователя отключен JS.
<noscript>
<link rel="stylesheet" href="tree_sunset.css" type="text/css">
</noscript>
Но ето всё не то
мне надо чтобы 4 раза в сутки было так
<body id="dusk" class="f-default style<?=$num_sait['stail'];?>">
<body id="night" class="f-default style<?=$num_sait['stail'];?>">
<body id="day" class="f-default style<?=$num_sait['stail'];?>">
<body id="dawn" class="f-default style<?=$num_sait['stail'];?>">
тоесть "dusk" , "night" , "day" , "dawn" менялись местами по времени
имею это и немного знаю PHP
// Это скрипт JS
window.addEvent('load', function() {
if (document.body.id == '') {
if (tempus != false) {
timeofday = tempus;
document.body.id=tempus;
} else {
datetoday = new Date();
timenow=datetoday.getTime();
datetoday.setTime(timenow);
thehour = datetoday.getHours();
if (thehour >= 20)
timeofday = "night";
else if (thehour >= 17)
timeofday = "dusk";
else if (thehour >= 9)
timeofday = "day";
else if (thehour >= 5)
timeofday = "dawn";
else
timeofday = "night";
document.body.id=timeofday;
}
Cookie.set('dim-tempus', timeofday, {duration: 1/24,path: "/"});
}
});