latest.skin.php 관련 질문입니다!! 채택완료
배정태
3년 전
조회 1,908
</p>
<p><?php</p>
<p>if (!defined('_GNUBOARD_')) exit; // 개별 페이지 접근 불가</p>
<p>include_once(G5_LIB_PATH.'/thumbnail.lib.php');</p>
<p>run_event('bbs_good_before', $bo_table, $wr_id, $good);</p>
<p>// add_stylesheet('css 구문', 출력순서); 숫자가 작을 수록 먼저 출력됨</p>
<p>add_stylesheet('<link rel="stylesheet" href="'.$latest_skin_url.'/style.css">', 0);</p>
<p>$thumb_width = 297;</p>
<p>$thumb_height = 212;</p>
<p>$list_count = (is_array($list) && $list) ? count($list) : 0;</p>
<p>?></p>
<p> </p>
<p><div class="pic_li_lt"></p>
<p> </p>
<p><h2 class="lat_title"><a href="<?php echo get_pretty_url($bo_table); ?>"><?php echo $bo_subject ?></a></h2></p>
<p> </p>
<p> <ul></p>
<p> <?php</p>
<p> for ($i=0; $i<$list_count; $i++) {</p>
<p> </p>
<p> $img_link_html = '';</p>
<p> </p>
<p> $wr_href = get_pretty_url($bo_table, $list[$i]['wr_id']);</p>
<p> //좋아요</p>
<p> $good_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&good=good';</p>
<p> //싫어요</p>
<p> $nogood_href = G5_BBS_URL.'/good.php?bo_table='.$bo_table.'&wr_id='.$list[$i]['wr_id'].'&good=nogood';</p>
<p> </p>
<p> ?></p>
<p> </p>
<p> <li></p>
<p> <?php echo $img_link_html; ?></p>
<p> <?php</p>
<p> if ($list[$i]['icon_secret']) echo "<i class=\"fa fa-lock\" aria-hidden=\"true\"></i><span class=\"sound_only\">비밀글</span> ";</p>
<p> </p>
<p> echo "<a href=\"".$wr_href."\" class=\"pic_li_tit\"> ";</p>
<p> </p>
<p> if ($list[$i]['ca_name']) {</p>
<p> echo "<span class =\"lt_ca\">" ."[{$list[$i]['ca_name']}]". "</span>";</p>
<p> }</p>
<p> </p>
<p> if ($list[$i]['is_notice'])</p>
<p> echo "<strong>".$list[$i]['subject']."</strong>";</p>
<p> else</p>
<p> echo $list[$i]['subject'];</p>
<p> </p>
<p> echo "</a>";</p>
<p> </p>
<p> </p>
<p> ?></p>
<p> </p>
<p> </p>
<p> <div class="lt_info"></p>
<p> </p>
<p> <?php </p>
<p> </p>
<p>// if ($list[$i]['wr_id'].'&good=good') {</p>
<p> if ($list[$i]['wr_good'] == 0){ </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 id=\"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\"></i>" ."<strong>{$list[$i]['wr_good']}</strong>". "</span>"; </p>
<p> echo "<b id=\"lt_v_act_good\"></b>";</p>
<p> echo "</a>";</p>
<p> }</p>
<p> echo "<span class=\"lt_cmt\"><i class=\"fa fa-comment-o\"></i>" .$list[$i]['wr_comment']."</span>";</p>
<p> ?></p>
<p>
</p>
<p><?php } ?></p>
<p> </p>
<p><script></p>
<p>$(function() {</p>
<p> // 추천, 비추천</p>
<p> $("#lt_good").click(function() {</p>
<p> var $tx;</p>
<p> if(this.id == "lt_good")</p>
<p> $tx = $("#lt_v_act_good");</p>
<p> </p>
<p> excute_good(this.href, $(this), $tx);</p>
<p> return false;</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> </p>
<p> <?php if ($list_count == 0) { //게시물이 없을 때 ?></p>
<p> <li class="empty_li">게시물이 없습니다.</li></p>
<p> <?php } ?></p>
<p> </ul></p>
<p> <!-- <a href="<?php echo get_pretty_url($bo_table); ?>" class="lt_more"><span class="sound_only"><?php echo $bo_subject ?></span>더보기</a> --></p>
<p> </p>
<p></div></p>
<p></script></p>
<p>

처음 게시물은 저렇게 좋아요 버튼을 누르면 이글을 추천 하셨습니다라는 문구가 뜨는데
그 아래의 게시물을 좋아요를 누르면

이런식으로 문구가 뜨는데 어떻게 수정을 해야 할 지 모르겠습니다.
댓글을 작성하려면 로그인이 필요합니다.
답변 3개
채택된 답변
+20 포인트
3년 전
</p>
<p>문제는 동일한 id 여러개로 되어있어서 제대로 실행을 할 수없어서 입니다</p>
<p><span class="token keyword keyword-echo">echo</span> <span class="token double-quoted-string string">"<a href=\""</span><span class="token punctuation">.</span><span class="token variable">$good_href</span><span class="token punctuation">.</span><span class="token double-quoted-string string">"\" id=\"lt_good\" <---- 이 id가 list목록수 만큼 나올 것 아닙니까?</span></p>
<p>view페이지처럼 좋아요버튼이 한번만 나올 때에 사용하는 것을 리스트에다 옮겨놓았는데 제대로 될 수가 없습니다</p>
<p>id는 삭제하고 아래코드처럼 class로 작동 되도록 수정 해야하는데</p>
<p>테스트를 안해봐서 정확히 작동할지는 모르겠습니다</p>
<p><span class="token keyword keyword-echo">echo</span> <span class="token double-quoted-string string">"<b id=\"lt_v_act_good\"></b>"</span><span class="token punctuation">; </span></p>
<p><span class="token punctuation">수정==></span></p>
<p><span class="token keyword keyword-echo">echo</span> <span class="token double-quoted-string string">"<b class=\"lt_v_act_good\"></b>"</span><span class="token punctuation">;</span></p>
<p>------------------------------------------</p>
<p> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#lt_good"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">click</span><span class="token punctuation">(</span><span class="token keyword keyword-function">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
<span class="token keyword keyword-var">var</span> $tx<span class="token punctuation">;</span>
<span class="token keyword keyword-if">if</span><span class="token punctuation">(</span><span class="token keyword keyword-this">this</span><span class="token punctuation">.</span>id <span class="token operator">==</span> <span class="token string">"lt_good"</span><span class="token punctuation">)</span>
$tx <span class="token operator">=</span> <span class="token function">$</span><span class="token punctuation">(</span><span class="token string">"#lt_v_act_good"</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<p><span class="token punctuation">수정 ===></span>
<span class="token function">$</span><span class="token punctuation">(</span><span class="token string">".</span>lt_v_good<span class="token string">"</span><span class="token punctuation">)</span><span class="token punctuation">.</span><span class="token function">click</span><span class="token punctuation">(</span><span class="token keyword keyword-function">function</span><span class="token punctuation">(</span><span class="token punctuation">)</span> <span class="token punctuation">{</span>
$tx <span class="token operator">=</span> <span class="token function">$</span><span class="token punctuation">(this).children(</span><span class="token string">".lt_v_act_good"</span><span class="token punctuation">)</span><span class="token punctuation">;</span></p>
<p> </p>
<p><span class="token punctuation">
로그인 후 평가할 수 있습니다
답변에 대한 댓글 1개
�
배정태
3년 전
제가 짧은 지식으로 만든다고 만들었는데 저 id 가 문제일거라고는 생각을 못했네요.. 도와주셔서 정말 감사합니다
댓글을 작성하려면 로그인이 필요합니다.
3년 전
음...일단 원인은 위 내용으로는 찾을수 없으나 의심되는 상황은 자바스크립트 이벤트를 아이디값에 주셨네요
아이디는 1개 페이지에서 1개만 존재하는 유니크한 값인데... 코드를 보니 아마 저 좋아요 버튼이 리스트배열만큼 출력되고 그만큼의 같은 id를 가진 것들이 많을것으로 보여요. 그래서 처음 클릭한 엘리먼트와 나중에 클릭한 엘리먼트를 같은 엘리먼트라고 판단해서 처음 클릭했던 엘리먼트를 기준으로 이벤트가 작동하는거 같아요
로그인 후 평가할 수 있습니다
댓글을 작성하려면 로그인이 필요합니다.
답변을 작성하려면 로그인이 필요합니다.
로그인