요일별로 메뉴 효과 질문드립니다.
본문
현제 이렇게 요일별로 메뉴효과를 주고있습니다
하지만 이전 요일 또는 다음 요일로 클릭을 했을때 기존 요일에 있는 메뉴효과는 사라지게 하고 싶은데
어디를 더 추가해야할까요?
예) 현제 금요일 메뉴효과 중 ---> 일요일 클릭 --> 금요일 메뉴효과 사라지고 일요일 메뉴효과 적용
단, 기존에 메뉴효과는 그대로 적용이 되어야하고 요일 클릭시 예제 처럼 변경을 원합니다
<?php
$a_href = $cate_href.'&wt_sca='.urlencode($days);
$term = 1 + (int)date("w", G5_SERVER_TIME);
$days = ['월', '화', '수', '목', '금', '토', '일'];
$out = '';
foreach ($days as $k => $v) {
$kk = ($k + 1) % 7 + 1; // reindex for logic
$active = ($kk == $term) ? 'onview' : '';
$active1 = ($kk == $term) ? '<i class="fa fa-check-circle" aria-hidden="true"></i>' : '';
$out .= '<div class="td">';
$out .= '<a href="' .$a_href. '' .$days[$k]. '" class="btn tab '.$active. '">';
$out .= ''.$active1. ' ' .$days[$k]. '';
$out .= '</a>';
$out .= '</div>' . PHP_EOL;
}
echo $out;
?>
현제 소스입니다 어디를 수정해야할지 가르침을 내려주세요
답변 1
$a_href = $cate_href.'&wt_sca='.urlencode($days);
의 뒷 부분은 변경되는 값을 넘겨주어야 하니..
처음에는 비워두고, for 문 안에서 채우는 형태가 되어야 합니다.
wt_sca 값이 '월', '화', '수' 라면..
비교 역시 보다 직관적인 형태로.. 해당 요일 텍스트 형태로 비교하는 것을 추천하겠습니다.
<?php
$a_href = $cate_href.'&wt_sca=';
$days = array('월', '화', '수', '목', '금', '토', '일');
$term = $_GET['wt_sca'] ? $_GET['wt_sca'] : $days[date('w') - 1];
$out = '';
foreach ($days as $k => $v) {
$active = ($v == $term) ? 'onview' : '';
$active1 = ($v == $term) ? '<i class="fa fa-check-circle" aria-hidden="true"></i>' : '';
$out .= '<div class="td">';
$out .= '<a href="' .$a_href. '' .$days[$k]. '" class="btn tab '.$active. '">';
$out .= ''.$active1. ' ' .$days[$k]. '';
$out .= '</a>';
$out .= '</div>' . PHP_EOL;
}
echo $out;
?>
답변을 작성하시기 전에 로그인 해주세요.