채택완료

요일별로 메뉴 효과 질문드립니다.

현제 이렇게 요일별로 메뉴효과를 주고있습니다

하지만 이전 요일 또는 다음 요일로 클릭을 했을때 기존 요일에 있는 메뉴효과는 사라지게 하고 싶은데

어디를 더 추가해야할까요?

예) 현제 금요일 메뉴효과 중 ---> 일요일 클릭 --> 금요일 메뉴효과 사라지고 일요일 메뉴효과 적용

단, 기존에 메뉴효과는 그대로 적용이 되어야하고 요일 클릭시 예제 처럼 변경을 원합니다

Copy
<?php $a_href = $cate_href.'&amp;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개

채택된 답변
+20 포인트
2017-09-23 (토) 16:11:18

$a_href = $cate_href.'&amp;wt_sca='.urlencode($days);

의 뒷 부분은 변경되는 값을 넘겨주어야 하니..  

처음에는 비워두고, for 문 안에서 채우는 형태가 되어야 합니다.

wt_sca 값이 '월', '화', '수' 라면.. 

비교 역시 보다 직관적인 형태로.. 해당 요일 텍스트 형태로 비교하는 것을 추천하겠습니다.

Copy
<?php$a_href = $cate_href.'&amp;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;?>

답변을 작성하려면 로그인이 필요합니다.