Помогите написать скрипт для автосмены текста каждую неделю

12
Dim565
На сайте с 19.08.2010
Offline
57
#11

Уверен, т.к проверял скрипт от и до

Dim565 добавил 02.12.2010 в 14:29

4arger, этот скрипт вообще ничего не показывает

Dim565 добавил 02.12.2010 в 15:03

Всем спасибо. Пока что это работает:

<script type="text/javascript" language="JavaScript"><!--
function y2k(number) { return (number < 1000) ? number + 1900 : number; }

function getWeek(year,month,day) {
var when = new Date(year,month,day);
var newYear = new Date(year,0,1);
var modDay = newYear.getDay();
if (modDay == 0) modDay=6; else modDay--;

var daynum = ((Date.UTC(y2k(year),when.getMonth(),when.getDate(),0,0,0) -
Date.UTC(y2k(year),0,1,0,0,0)) /1000/60/60/24) + 1;

if (modDay < 4 ) {
var weeknum = Math.floor((daynum+modDay-1)/7)+1;
}
else {
var weeknum = Math.floor((daynum+modDay-1)/7);
if (weeknum == 0) {
year--;
var prevNewYear = new Date(year,0,1);
var prevmodDay = prevNewYear.getDay();
if (prevmodDay == 0) prevmodDay = 6; else prevmodDay--;
if (prevmodDay < 4) weeknum = 53; else weeknum = 52;
}
}

return + weeknum;
}

var now = new Date();
var fun=getWeek(y2k(now.getYear()),now.getMonth(),now.getDate());
if(fun/2 == Math.floor(fun/2))
{document.write("Четная")} else {document.write("Нечетная")
}
</script>

Dim565 добавил 02.12.2010 в 17:50

Вот еще один рабочий скрипт:

 <script type="text/javascript" language="JavaScript">
Date.prototype.getWeek = function (dowOffset) {
/*getWeek() was developed by Nick Baicoianu at MeanFreePath: http://www.meanfreepath.com */

dowOffset = typeof(dowOffset) == 'int' ? dowOffset : 0; //default dowOffset to zero
var newYear = new Date(this.getFullYear(),0,1);
var day = newYear.getDay() - dowOffset; //the day of week the year begins on
day = (day >= 0 ? day : day + 7);
var daynum = Math.floor((this.getTime() - newYear.getTime() -
(this.getTimezoneOffset()-newYear.getTimezoneOffset())*60000)/86400000) + 1;
var weeknum;
//if the year starts before the middle of a week
if(day < 4) {
weeknum = Math.floor((daynum+day-1)/7) + 1;
if(weeknum > 52) {
nYear = new Date(this.getFullYear() + 1,0,1);
nday = nYear.getDay() - dowOffset;
nday = nday >= 0 ? nday : nday + 7;
/*if the next year starts before the middle of
the week, it is week #1 of that year*/
weeknum = nday < 4 ? 1 : 53;
}
}
else {
weeknum = Math.floor((daynum+day-1)/7);
}
return weeknum;
};
var now = new Date();
var weeknumber = now.getWeek(1);
if(weeknumber/2 == Math.floor(weeknumber/2))
{document.write("Четная")} else {document.write("Нечетная")};
</script>
12

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