테스트 사이트 - 개발 중인 베타 버전입니다

어느부분이 잘못된건지 모르겠습니다 채택완료

배정태 3년 전 조회 3,548

</p>

<p><?php</p>

<p> </p>

<p>$sql = " SELECT * FROM g5_board_good WHERE mb_id='{$member['mb_id']}' AND bo_table='${$bo_table}' AND bg_flag='good' AND wr_id='$list[$i]['wr_id']' ";</p>

<p>$memberGood = sql_fetch($sql);</p>

<p> </p>

<p> </p>

<p>  if ($memberGood) {</p>

<p>    echo "<a href=\"".$good_href."\"  id=\"lt_good\" class=\"lt_v_good\">" . "<span class=\"lt_good\">" . " <i class=\"fa fa-heart\"></i><strong>{$list[$i]['wr_good']}</strong>". "</span>";        </p>

<p>    echo "<b class=\"lt_v_act_good\"></b>";</p>

<p>    echo "</a>";</p>

<p>    // 내가 좋아요를 눌렀을때 출력</p>

<p>  } else {</p>

<p>    echo "<a href=\"".$good_href."\"  id=\"lt_good\" class=\"lt_v_good\">" . "<span class=\"lt_good\">" . " <i class=\"fa fa-heart-o\"></i><strong>{$list[$i]['wr_good']}</strong>". "</span>";        </p>

<p>    echo "<b class=\"lt_v_act_nogood\"></b>";</p>

<p>   echo "</a>";</p>

<p>    // 내가 좋아요를 누르지 않았을때 출력</p>

<p>  }</p>

<p> </p>

<p>?></p>

<p><!-- ---------------------------------------------------------------- --></p>

<p>

 </p>

<p><?php }  ?></p>

<p> </p>

<p><script></p>

<p>$(function() {</p>

<p>    // 추천, 비추천</p>

<p>    $(".lt_v_good").click(function() {</p>

<p>        $tx = $(this).children(".lt_v_act_good");</p>

<p> </p>

<p> </p>

<p>        excute_good(this.href, $(this), $tx);</p>

<p>        return false;</p>

<p>    });</p>

<p>});</p>

<p> </p>

<p>// $(function() {</p>

<p>//     // 추천, 비추천</p>

<p>//     $(".lt_v_good , .lt_v_nogood").click(function() {</p>

<p> </p>

<p>//         if($memberGood){</p>

<p>//         $tx = $(this).children(".lt_v_act_good");</p>

<p>//         }</p>

<p>//         else{</p>

<p>//         $tx = $(this).children(".lt_v_act_nogood");</p>

<p>//         }</p>

<p>//         excute_good(this.href, $(this), $tx);</p>

<p>//         return false;</p>

<p>//     });</p>

<p>// });</p>

<p> </p>

<p></script></p>

<p> </p>

<p><script></p>

<p>function excute_good(href, $el, $tx)</p>

<p>{</p>

<p>    $.post(</p>

<p>href,</p>

<p>        { js: "on" },</p>

<p>        function(data) {</p>

<p>if(data.error) {</p>

<p>alert(data.error);</p>

<p>                return false;</p>

<p>            }</p>

<p>





 </p>

<p>if(data.count) {</p>

<p>    $el.find("strong").text(number_format(String(data.count)));</p>

<p>}</p>

<p> </p>

<p>if(data.msg){</p>

<p>    $tx.stop().hide();</p>

<p>    $tx.text(data.msg);</p>

<p>    $tx.fadeIn(200).delay(2500).fadeOut(200);</p>

<p>}</p>

<p>



 </p>

<p>        }, "json"</p>

<p>    );</p>

<p>}</p>

<p></script></p>

<p> </p>

<p>

 

좋아요를누르면 하트가 아니면 흰색하트가 나오도록 하고싶은데 눌러도 숫자만 바뀌고 하트는 바뀌지 않습니다 어느부분이 잘못된건지 알려주세요!

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

답변 2개

채택된 답변
+20 포인트
3년 전

if (data.count) {     $el.find("strong").text(number_format(String(data.count))); }

->

if (data.count) {     $el.find("strong").text(number_format(String(data.count)));     $el.find("i").removeClass('fa-heart-o').addClass('fa-heart'); }

로그인 후 평가할 수 있습니다

답변에 대한 댓글 3개

배정태
3년 전
아래의 방법으로 수정해보겟습니다
배정태
3년 전
아래꺼로 바꾸었을 때 하트는 색이 들어가나 다시 추천취소를하면 하트가 색이 변하지 않고 그대로 빨간하트로 남아있습니다 혹시 어느 부분에서 막힌걸까요?
마르스컴퍼니
3년 전
로직상으로,

추천일 때
-> $el.find("i").removeClass('fa-heart-o').addClass('fa-heart');

취소일 때
-> $el.find("i").removeClass('fa-heart').addClass('fa-heart-o');

식으로 처리하면 됩니다.

코드상에서 '추천 취소' 부분이 어디인지.. 저는 찾지 못했습니다.

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

3년 전

위의 php 조건문은 최초 페이지를 로딩할때만 작동됩니다. 좋아요 이벤트는 ajax로 이루어져있으니 ajax 응답값을 받아 처리하는 excute_good 함수에서도 별도의 처리를 해주셔야 합니다

로그인 후 평가할 수 있습니다

답변에 대한 댓글 1개

배정태
3년 전
ajax에 기본적인 배경이 없어서 어떤식으로 만들어야하는지 알려주실수 있을까요?

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

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

로그인