시간에 따라 상태가 변하는 Javascript, JQuery
시간에 따라 상태가 변하는 Javascript, JQuery
계기
- 팀을 소개하는 미니프로젝트를 진행하는 도중, 게임 테마와 비슷해보이게 하기 위해서 시간이 지나면 체력이 방전되는 아이디어를 팀원과 논의했었다.
- 처음에는 Progress Bar를 활용했지만, 조금 더 직관적인 그래픽 디자인을 사용하기로 추가로 논의했다.
- 그래서 HP, MP 게임 이미지를 준비해 시간마다 체력이 떨어지는 효과를 내기 위한 코드를 작성했다.
JAVASCRIPT 기능
-
$(document).ready(function(){}) 활용
- $(document).ready(function(){}) 은 클라이언트를 시동하면서 바로 시작하게 해주는 기능으로 다른 처리를 해 줄 필요 없이 바로 기능을 사용할 수 있다.
- 클라이언트를 시동할 때마다 기능이 필요하기 때문에 함수를 $(document).ready(function(){})에 넣어준다.
$(document).ready(function () {
now_status(), sizing()
})
function now_status(){}
function sizing(){}
-
Date(), getHours() 활용
- Date()는 현재 날짜 및 시각을 받아오는 함수로 지금 시각을 받아오는데 사용한다
- getHours()는 Date() 에서 시각만을 가져오는 함수로 현재 오후 1시라면 13을 가져온다.
- Date(), getHours() 속성을 활용하여 클라이언트가 시동될 때마다, 시각 값을 가져오고 시간이 지날수록 변화되는 속성을 추가하는데 사용할 것이다.
function now_status() {
let today = new Date();
let hours = today.getHours();
console.log(hours)
-
removeClass, addClass 활용
- removeClass() 는 선택한 클래스의 클래스 속성을 지우는 속성이다.
- addClass() 는 선택한 클래스의 클래스 속성을 추가하는 속성이다.
- 현재 상태가 HP 4칸, MP 4칸이라면 한 시간이 지날 수록 MP부터 한 칸씩 줄어들게 만들 것이다.
// 기능설계
// MP부터 닳고 HP닳기
// 총 10칸을 9시부터 1시간 간격으로 닳게 하기
// 점심과 저녁시간 빼기
// removeClass, addClass 활용
// 0시가 되면 초기화
if (hours==0 || hours <= 9) {
$('.hp_bar').removeClass('hp_0').addClass('hp_4')
$('.mp_bar').removeClass('mp_0').addClass('mp_4')
}
// MP부터 10시부터~15시까지
else if (hours >= 10 && hours < 11) {
$('.mp_bar').removeClass('mp_4').addClass('mp_3')
} else if (hours >= 11 && hours < 12) {
$('.mp_bar').removeClass('mp_3').addClass('mp_2')
} else if (hours >= 12 && hours < 14) {
$('.mp_bar').removeClass('mp_2').addClass('mp_1')
} else if (hours >= 14 && hours < 15) {
$('.mp_bar').removeClass('mp_1').addClass('mp_0')
}
// HP 15시부터~21시까지
else if (hours >= 15 && hours < 16) {
$('.hp_bar').removeClass('hp_4').addClass('hp_3')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 16 && hours < 17) {
$('.hp_bar').removeClass('hp_3').addClass('hp_2')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 17 && hours < 19) {
$('.hp_bar').removeClass('hp_2').addClass('hp_1')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 19 && hours < 20) {
$('.hp_bar').removeClass('hp_1').addClass('hp_0')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else {
$('.hp_bar').removeClass('hp_1').addClass('hp_0')
$('.mp_bar').removeClass('mp_1').addClass('mp_0')
}
완성된 모습
- 오전 10시가 되어 MP가 한 칸이 닳아 있는 형태
Author And Source
이 문제에 관하여(시간에 따라 상태가 변하는 Javascript, JQuery), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://velog.io/@migdracios/시간에-따라-상태가-변하는-Javascript-JQuery
저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
$(document).ready(function(){}) 활용
- $(document).ready(function(){}) 은 클라이언트를 시동하면서 바로 시작하게 해주는 기능으로 다른 처리를 해 줄 필요 없이 바로 기능을 사용할 수 있다.
- 클라이언트를 시동할 때마다 기능이 필요하기 때문에 함수를 $(document).ready(function(){})에 넣어준다.
$(document).ready(function () {
now_status(), sizing()
})
function now_status(){}
function sizing(){}
Date(), getHours() 활용
- Date()는 현재 날짜 및 시각을 받아오는 함수로 지금 시각을 받아오는데 사용한다
- getHours()는 Date() 에서 시각만을 가져오는 함수로 현재 오후 1시라면 13을 가져온다.
- Date(), getHours() 속성을 활용하여 클라이언트가 시동될 때마다, 시각 값을 가져오고 시간이 지날수록 변화되는 속성을 추가하는데 사용할 것이다.
function now_status() {
let today = new Date();
let hours = today.getHours();
console.log(hours)
removeClass, addClass 활용
- removeClass() 는 선택한 클래스의 클래스 속성을 지우는 속성이다.
- addClass() 는 선택한 클래스의 클래스 속성을 추가하는 속성이다.
- 현재 상태가 HP 4칸, MP 4칸이라면 한 시간이 지날 수록 MP부터 한 칸씩 줄어들게 만들 것이다.
// 기능설계
// MP부터 닳고 HP닳기
// 총 10칸을 9시부터 1시간 간격으로 닳게 하기
// 점심과 저녁시간 빼기
// removeClass, addClass 활용
// 0시가 되면 초기화
if (hours==0 || hours <= 9) {
$('.hp_bar').removeClass('hp_0').addClass('hp_4')
$('.mp_bar').removeClass('mp_0').addClass('mp_4')
}
// MP부터 10시부터~15시까지
else if (hours >= 10 && hours < 11) {
$('.mp_bar').removeClass('mp_4').addClass('mp_3')
} else if (hours >= 11 && hours < 12) {
$('.mp_bar').removeClass('mp_3').addClass('mp_2')
} else if (hours >= 12 && hours < 14) {
$('.mp_bar').removeClass('mp_2').addClass('mp_1')
} else if (hours >= 14 && hours < 15) {
$('.mp_bar').removeClass('mp_1').addClass('mp_0')
}
// HP 15시부터~21시까지
else if (hours >= 15 && hours < 16) {
$('.hp_bar').removeClass('hp_4').addClass('hp_3')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 16 && hours < 17) {
$('.hp_bar').removeClass('hp_3').addClass('hp_2')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 17 && hours < 19) {
$('.hp_bar').removeClass('hp_2').addClass('hp_1')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else if (hours >= 19 && hours < 20) {
$('.hp_bar').removeClass('hp_1').addClass('hp_0')
$('.mp_bar').removeClass('mp_4').addClass('mp_0')
} else {
$('.hp_bar').removeClass('hp_1').addClass('hp_0')
$('.mp_bar').removeClass('mp_1').addClass('mp_0')
}
완성된 모습
- 오전 10시가 되어 MP가 한 칸이 닳아 있는 형태
Author And Source
이 문제에 관하여(시간에 따라 상태가 변하는 Javascript, JQuery), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@migdracios/시간에-따라-상태가-변하는-Javascript-JQuery저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)