2010-05-10 3 views
0

jQuery/PHP를 사용하면 가능합니까? 내 웹 페이지가 특정 시간대에 자동으로 다른 웹 페이지로 이동하게하려고합니다. 예를 들어 정오에 '점심'(www.mylunchpage.com) 페이지로 자동 리디렉션되는 '아침 식사'페이지가 있습니다. 점심 식사 페이지는 저녁 5시 (www.mydinnerpage.com) 페이지로 이동합니다. 타이머가 아닌 시간대를 기반으로 모든 정보를 원합니다.Jquery Page Timer

예, 브라우저가 하루 종일 열려있을 것입니다 ...

이 작품을 만드는 방법에 대한 어떤 생각? 모든 조언을 크게 부탁드립니다.

+0

서버 시간 또는 클라이언트 시간? – Eric

답변

0

자바 스크립트 기능 setInterval()은 특정 간격 (매분, 매 5 분 등)을 확인하여 시간을 확인하는 데 사용할 수 있습니다. 현재 시간이 목표 중 하나에 도달하면 리디렉션됩니다. 같은

뭔가 :

function checkTime() 
{ 
    var date = new Date(); 
    var hour = date.getHours(); 
    var min = date.getMinutes(); 

    if (hour == 12 && min == 0) 
    window.location = 'noon.html'; 
    else if (hour == 17 && min == 0) 
    window.location == '5pm.html'; 
} 

$(document).ready(function(){ 
    setInterval(checkTime, 60000); // This will run checkTime every minute 
}); 
+0

나는 그것이 단 한번만 움직일 것이라고 생각한다. document.ready에서 checkTime을 호출 한 다음 setTimeout 코드를 checkTime 함수의 맨 아래로 이동하십시오. 또한 setTimeout/setInterval에 대한 매개 변수로 문자열 대신 함수를 사용하는 것이 좋습니다. –

+0

@James : Nope. 이것은 잘 실행됩니다. 그러나 문자열이 아닌 함수를 사용하는 것에 대한 참고는 dead-on입니다. –

+0

@ 존 : 이제 setTimeout에서 setInterval로 변경되었습니다. 편집 : 이제는 다시 변경되었지만 동일한 함수에서 호출해야한다면 setTimeout으로 돌아 가지 않아야합니다. –

2

매분 1 회 확인하려면 setInterval을 사용하십시오. 그런 다음 new Date().getHours()을 사용하여 현재 시간을 확인하십시오. 시간이 원하는 시간으로 변경되면 다음 페이지로 이동하십시오.

지금까지 jQuery가 필요하지 않습니다. 클라이언트 시간 대신 서버 시간을 원하면 시작시 ajax를 통해 서버와의 시간차를 가져야합니다.

0

하여 setInterval 좋은 전략이다. 나는 다른 페이지로 이동하는 것이 사용자에게 상당히 짜증나는 것이라고 덧붙여 야합니다. 페이지의 스타일에 관한 것이라면 CSS를 동적으로 변경하는 것이 좋습니다. 더 나은 사용자 경험을 제공합니다. 당신은 심지어 색상을 가지고 놀 수 있으며 "황혼"과 "새벽"을 에뮬레이션하여 빨간색에서 진한 파란색으로 부드럽게 색상을 바꿀 수 있습니다.

페이지에서 JS에서 CSS를 변경하는 방법에 대한 예가 필요한 경우 의견을 남기십시오.

+0

이것은 실제로 좋은 점입니다. 이 다양한 페이지간에 변경해야하는 콘텐츠가 많지 않으면 CSS 스타일 시트 변경이 더 나은 방법 일 수 있습니다. – ABach

+0

Juriy, 내용이 극적으로 바뀝니다. 하지만 나는 CSS를 동적으로 변화시키는 아이디어를 좋아한다. 그것은 아래에 열거 된 동일한 아이디어를 사용합니까? – Rhepungus